仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 719|回复: 8
打印 上一主题 下一主题

[学习教程] ASP.NET网站制作之用ASP.NET和XML做旧事体系

[复制链接]
若相依 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:32:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
2003年中微软发布最新版本的ASP.netWebMatrix,对于我们喜欢用Asp.net来编程的朋友实在是个好消息,我也实实在在的将Asp.net更深入的研究了一下,以方便我以后更好的运用它,同时我也讲讲使用它的感受。asp.net|xml|旧事体系这里我就用xml取代数据,写一个旧事公布体系,但愿可以起到举一反三的感化,使更多的人可以懂得这些最新的手艺。上面先容这几个文件。
contents.xml
<?xmlversion="1.0"encoding="GB2312"?>
<topiclisttype="AspCoolNews">
<topic>
<title>aspcoolnews!</title>
<href>main.aspx?name=hello</href>
</topic>
<topic>
<title>Resolveaproblem</title>
<href>main.aspx?name=test</href>
</topic>
</topiclist>
  这是一个很复杂的xml文件,它的感化是用来显现旧事的列表。

hello.xml
<?xmlversion="1.0"encoding="GB2312"?>
<document>
<title>aspcoolnews!</title>
<abstract>testnews</abstract>
<author>feiying</author>
<content>
<paragraph>Thefirettest</paragraph>
</content>
</document>
  这个文件是用来显现旧事的内容,个中各个意义人人一看就分明,我就不在这儿多说了。

  上面给人人看旧事列表显现的页面。

news.aspx
<%@ImportNamespace="System"%>
<%@PageLanguage="C#"Debug="true"codepage="936"%>
<%@ImportNamespace="System.IO"%>
<%@AssemblyName="System.Xml"%>
<%@ImportNamespace="System.Xml"%>
<%@ImportNamespace="System.Xml.Xsl"%>
<html>
<head>
<title>
</title>
<scriptlanguage="c#"runat="server">
publicstringxslt()
{
StringWriterwriter=newStringWriter();
//装进xml工具
XmlDocumentxmldoc=newXmlDocument();
xmldoc.Load(Server.MapPath("Contents.xml"));
//装进xsl工具
XslTransformxsldoc=newXslTransform();
xsldoc.Load(Server.MapPath("news.xsl"));
//把xml转化成html页面
DocumentNavigatornav=newDocumentNavigator(xmldoc);
xsldoc.Transform(nav,null,writer);
returnwriter.ToString();
}
</script>
</head>
<body>
<%=xslt()%>
<palign="center">
该程序由<ahref="http://www.webjx.com">www.webjx.com</a>计划制造.

</p>
</body>
</html>
  这个页面完成了从xml经由过程xslt转化成html文件,也使我关于xslt有了进一步的熟悉。

  上面是旧事内容显现的页面:

<Pclass=code>main.aspx
<%@ImportNamespace="System"%>
<%@PageLanguage="C#"Debug="true"codepage="936"%>
<%@ImportNamespace="System.IO"%>
<%@AssemblyName="System.Xml"%>
<%@ImportNamespace="System.Xml"%>
<%@ImportNamespace="System.Xml.Xsl"%>
<html>
<head>
<title>
</title>
<scriptlanguage="c#"runat="server">
publicstringxslt()
{
StringWriterwriter=newStringWriter();
XmlDocumentxmldoc=newXmlDocument();
xmldoc.Load(Server.MapPath(Request["name"]+".xml"));
XslTransformxsldoc=newXslTransform();
xsldoc.Load(Server.MapPath("main.xsl"));
DocumentNavigatornav=newDocumentNavigator(xmldoc);
xsldoc.Transform(nav,null,writer);
returnwriter.ToString();
}
</script>
</head>
<body>
<%=xslt()%>
<palign="center">该程序由
  1. [/code][code]<ahref="http://www.webjx.com">[color=#000000]www.webjx.com[/color]</a>计划制造</p>
  2. </body>
  3. </html>
  4.   这个功效和下面的一样,我在这儿就未几说了。
  5.   最初,人人来看一下最卖力的一个页面,这个页面的感化就是用来创建新的xml数据。
  6. manage.aspx
  7. <%@ImportNamespace="System.Xml.Xsl"%>
  8. <%@ImportNamespace="System.Xml"%>
  9. <%@AssemblyName="System.Xml"%>
  10. <%@ImportNamespace="System.IO"%>
  11. <%@PageLanguage="C#"Debug="true"codepage="936"%>
  12. <%@ImportNamespace="System"%>
  13. <HTML>
  14. <HEAD>
  15. <scriptlanguage="C#"runat="server">
  16. publicvoidButton1_Click(objectsender,System.EventArgse)
  17. {
  18. //判别文件是不是存在
  19. if(File.Exists(Server.MapPath(TextBox1.Text+".xml")))
  20. {
  21. Response.Write("文件名已存在,请重选文件名。");
  22. Response.End();
  23. }
  24. else
  25. {
  26. XmlNodecurrNode;
  27. XmlDocumentxmldoc=newXmlDocument();
  28. xmldoc.Load(Server.MapPath("contents.xml"));
  29. stringInsStr="<topic><title>"+TextBox2.Text+"</title><href>
  30. main.aspx?name="+TextBox1.Text+"</href></topic>";
  31. XmlDocumentFragmentdocFrag=xmldoc.CreateDocumentFragment();
  32. docFrag.InnerXml=InsStr;
  33. currNode=xmldoc.DocumentElement;
  34. currNode.InsertAfter(docFrag,currNode.LastChild);
  35. //savetheoutputtoafile
  36. xmldoc.Save(Server.MapPath("contents.xml"));
  37. //把TextBox5中的文件换成切合xml格局的内容。
  38. stringxmlfile=TextBox5.Text.Replace("&","&");
  39. xmlfile=xmlfile.Replace("<","<");
  40. xmlfile=xmlfile.Replace(">",">");
  41. xmlfile=xmlfile.Replace(@"""""",""");
  42. xmlfile=xmlfile.Replace(""","");
  43. xmlfile=xmlfile.Replace("n","</paragraph><paragraph>");
  44. //把数据写进新建的xml文件中往。
  45. XmlDocumentdoc=newXmlDocument();
  46. doc.LoadXml("<?xmlversion="1.0"encoding="GB2312"?>
  47. <document><title>"+TextBox2.Text+"</title><abstract>"+
  48. TextBox4.Text"</abstract><author>"+TextBox3.Text+
  49. "</author><content><paragraph>"+xmlfile+"</paragraph>
  50. </content></document>");
  51. doc.Save(Server.MapPath(TextBox1.Text+".xml"));
  52. Response.Write("Youhavainputthearticle!");
  53. TextBox1.Text="";
  54. TextBox2.Text="";
  55. TextBox3.Text="";
  56. TextBox4.Text="";
  57. TextBox5.Text="";
  58. }
  59. //向目次文件中写数据
  60. }
  61. publicvoidButton2_Click(objectsender,System.EventArgse)
  62. {}
  63. </script>
  64. <metacontent="InternetExplorer5.0"name=vs_targetSchema>
  65. <metacontent="MicrosoftVisualStudio7.0"name=GENERATOR>
  66. <metacontent=C#name=CODE_LANGUAGE>
  67. </HEAD>
  68. <bodyMS_POSITIONING="GridLayout">
  69. <formrunat="server">
  70. <FONTface=宋体>
  71. <asp:labelid=Label1style="Z-INDEX:100;LEFT:230px;POSITION:
  72. absolute;TOP:27px"runat="server"Height="28px"Width="156px">
  73. asp酷手艺资讯网网站内容公布体系
  74. </asp:label>
  75. <asp:labelid=Label2style="Z-INDEX:101;LEFT:110px;POSITION:
  76. absolute;TOP:68px"runat="server"Height="25px"Width="65px">
  77. 文件名:
  78. </asp:label>
  79. <asp:textboxid=TextBox1style="Z-INDEX:102;LEFT:255px;POSITION:
  80. absolute;TOP:64px"runat="server"Height="33px"Width="178px">
  81. </asp:textbox>
  82. <asp:labelid=Label3style="Z-INDEX:103;LEFT:108px;POSITION:
  83. absolute;TOP:126px"runat="server"Height="36px"Width="86px">
  84. 文章称号:
  85. </asp:label>
  86. <asp:textboxid=TextBox2style="Z-INDEX:104;LEFT:256px;POSITION:
  87. absolute;TOP:114px"runat="server"Height="37px"Width="177px">
  88. </asp:textbox>
  89. <asp:labelid=Label4style="Z-INDEX:105;LEFT:114px;POSITION:
  90. absolute;TOP:183px"runat="server"Height="31px"Width="89px">
  91. </asp:label>
  92. <asp:textboxid=TextBox3style="Z-INDEX:106;LEFT:256px;POSITION:
  93. absolute;TOP:183px"runat="server"Height="36px"Width="179px">
  94. </asp:textbox>
  95. <asp:labelid=Label5style="Z-INDEX:107;LEFT:114px;POSITION:
  96. absolute;TOP:241px"runat="server"Height="51px"Width="81px">
  97. 择要:
  98. </asp:label>
  99. <asp:textboxid=TextBox4style="Z-INDEX:108;LEFT:256px;POSITION:
  100. absolute;TOP:245px"runat="server"Height="36px"Width="179px">
  101. </asp:textbox>
  102. <asp:labelid=Label6style="Z-INDEX:109;LEFT:116px;POSITION:
  103. absolute;TOP:315px"runat="server"Height="36px"Width="78px">
  104. 内容:
  105. </asp:label>
  106. <asp:textboxid=TextBox5style="Z-INDEX:110;LEFT:259px;POSITION:
  107. absolute;TOP:303px"runat="server"Height="95px"Width="252px"
  108. textmode="MultiLine">
  109. </asp:textbox>
  110. </FONT>
复制代码
  1. [/code][code]<INPUTid=Button2style="Z-INDEX:113;LEFT:343px;WIDTH:40px;
  2. POSITION:absolute;TOP:430px;HEIGHT:24px"type=buttonvalue=重置
  3. name=Button2runat="server"OnServerClick="Button2_Click"DESIGNTIMEDRAGDROP="59">
  4. <br>
  5. <br>
  6. <divid=messrunat=server>
  7. </div>
  8. <br>
  9. <inputtype="button"value="提交"OnServerClick="Button1_Click"
  10. runat="server"ID="Button1"NAME="Button1"style="Z-INDEX:112;
  11. LEFT:268px;POSITION:absolute;TOP:430px">
  12. </form>
  13. </body>
  14. </HTML>
复制代码
它有很多缺点的,有兴趣可以到网上去搜索一下。于是微软有发明了“下一代”C++:C++/CLI语言,这个可以解决在.NETFramework中,托管C++产生的问题。在《程序员》杂志上,lippman和李建中合作连载介绍了C++/CLI语言。
若天明 该用户已被删除
沙发
发表于 2015-1-19 11:34:11 | 只看该作者
弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。
老尸 该用户已被删除
板凳
发表于 2015-1-24 12:38:48 | 只看该作者
ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp)。
爱飞 该用户已被删除
地板
发表于 2015-2-1 11:52:43 | 只看该作者
同时也感谢博客园给我们这个平台,也感谢博客园的编辑们做成专题引来这么多高人指点。
莫相离 该用户已被删除
5#
发表于 2015-2-7 04:41:43 | 只看该作者
代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。
飘灵儿 该用户已被删除
6#
发表于 2015-2-20 14:15:12 | 只看该作者
业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高,你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。
简单生活 该用户已被删除
7#
发表于 2015-3-6 18:09:31 | 只看该作者
ASP.net的服务器,要求安装一个.net环境,当然我这里指的是windows系统,顺便点一下,.net只能放在windows环境里来运行。Asp.net1.1的就装Framework1.1,Asp.net2.0的就装Framework2.0。
小女巫 该用户已被删除
8#
发表于 2015-3-13 05:08:28 | 只看该作者
弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。
小魔女 该用户已被删除
9#
发表于 2015-3-20 13:31:12 | 只看该作者
主流网站开发语言之ASP:ASP是微软(Microsoft)所开发的一种后台脚本语言,它的语法和VisualBASIC类似,可以像SSI(ServerSideInclude)那样把后台脚本代码内嵌到HTML页面中。虽然ASP简单易用,但是它自身存在着许多缺陷,最重要的就是安全性问题。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 18:32

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表