飘飘悠悠 发表于 2015-1-16 22:44:55

ASP.NET编程:ASP.NET技能:利用 Anthem.NET 框架的一...

觉得J2EE好像有很多工具,比如servlet,jboss,tomcat,ejb什么的,可是微软的.NET怎么什么也没有啊?asp.net|技能  简介:Anthem是一个很好用的Ajax框架,撑持ASP.NET1.1,2.0。
  因为该框架的一切控件都承继自ASP.NET本身的服务器控件,保存了几近一切这些控件的属性和举动(除把它们的PostBack改成CallBack的无革新挪用以外)。以是进修曲线很陡峭。
  明天我在利用Anthem的时分碰着了一个对照贫苦的调试成绩,纪录于此。
  鄙人面的代码中,我用了一个Anthem.Repeater控件。
<asp:XmlDataSourceID="XmlDataSource2"runat="server"XPath="//NeedDocs/Doc"
EnableCaching="false"></asp:XmlDataSource>
<tableclass="mytable"width="100%"cellspacing="0"cellpadding="0">
<anthem:RepeaterID="rptNeedDocs"runat="server"DataSourceID="XmlDataSource2"
AutoUpdateAfterCallBack="False">
<HeaderTemplate>
<trclass="formTitle">
<td>
选中</td>
<td>
文件、图纸称号</td>
<td>
应送</td>
<td>
是不是原件</td>
<td>
备注</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>
<asp:CheckBoxID="chkDoc"runat="server"Checked="True"/>
<asp:HiddenFieldID="hidDocId"runat="server"Value=<%#XPath("@Id")%>/>
</td>
<td>
<asp:LabelID="lblDocName"runat="server"Text=<%#XPath("@Name")%>/>
</td>
<td>
<asp:TextBoxID="txtQuantity"runat="server"Text=<%#XPath("@Quantity")%>Width="30"/>
</td>
<td>
<asp:RadioButtonListID="radiolist_IsOriginal"runat="server"SelectedValue=<%#XPath("@IsOriginal")%>
RepeatDirection="Horizontal">
<asp:ListItemValue="True">原件</asp:ListItem>
<asp:ListItemValue="False">正本</asp:ListItem>
</asp:RadioButtonList>
</td>
<td>
<asp:TextBoxID="txtComment"runat="server"Text=<%#XPath("Comment")%>/>
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
</FooterTemplate>
</anthem:Repeater>
</table>
  这个代码在运转时,偶然候会呈现一个JS毛病:“未知的运转时毛病”。
  而该毛病只在特定情形下产生,在其他相似情形下一般。
  亏得VS2005供应了十分壮大的客户端剧本调试功效。我终究将毛病定位到了Anthem发生的一行代码上:
control.innerHTML=result.controls;
  查了相干材料后发明,在IE下,对innerHTML属性赋值的时分,会对所赋的值举行反省。假如不是wellformed,则大概会呈现“未知的运转时毛病”。
  因而我判别anthem.Repeater输入的HTML出了成绩。从下面代码中高亮的两行能够看到,table标签在Repeater的表面。因而Repeater自己输入的是一系列tr,并非wellformed的一个全体。
  因而我将table的标签头尾分离放进Repeater的HeaderTemplate和FooterTemplate,成绩办理。
 (之以是先前把table标签放到表面往了,是由于放在HeaderTemplate和FooterTemplate中的时分,不晓得为何VS的计划器不克不及切换到计划视图了。而改成如许能够办理成绩。)
  修正乐成后的代码以下:
<asp:XmlDataSourceID="XmlDataSource2"runat="server"XPath="//NeedDocs/Doc"
EnableCaching="false"></asp:XmlDataSource>
<anthem:RepeaterID="rptNeedDocs"runat="server"DataSourceID="XmlDataSource2"AutoUpdateAfterCallBack="False">
<HeaderTemplate>
<tableclass="mytable"width="100%"cellspacing="0"cellpadding="0">
<trclass="formTitle">
<td>
选中</td>
<td>
文件、图纸称号</td>
<td>
应送</td>
<td>
是不是原件</td>
<td>
备注</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>
<asp:CheckBoxID="chkDoc"runat="server"Checked="True"/>
<asp:HiddenFieldID="hidDocId"runat="server"Value=<%#XPath("@Id")%>/>
</td>
<td>
<asp:LabelID="lblDocName"runat="server"Text=<%#XPath("@Name")%>/>
</td>
<td>
<asp:TextBoxID="txtQuantity"runat="server"Text=<%#XPath("@Quantity")%>Width="30"/>
</td>
<td>
<asp:RadioButtonListID="radiolist_IsOriginal"runat="server"SelectedValue=<%#XPath("@IsOriginal")%>
RepeatDirection="Horizontal">
<asp:ListItemValue="True">原件</asp:ListItem>
<asp:ListItemValue="False">正本</asp:ListItem>
</asp:RadioButtonList>
</td>
<td>
<asp:TextBoxID="txtComment"runat="server"Text=<%#XPath("Comment")%>/>
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</anthem:Repeater>
  经由此次的调试,我以为Ajax除带来了界面上呼应敏捷的优点以外,由于引进大批js,也增年夜了调试的难度,因而使用的时分仍是要依据情形弃取。不克不及甚么都上Ajax.
它有很多缺点的,有兴趣可以到网上去搜索一下。于是微软有发明了“下一代”C++:C++/CLI语言,这个可以解决在.NETFramework中,托管C++产生的问题。在《程序员》杂志上,lippman和李建中合作连载介绍了C++/CLI语言。

金色的骷髅 发表于 2015-1-27 20:27:21

现在主流的网站开发语言无外乎asp、php、asp.net、jsp等。

不帅 发表于 2015-2-5 10:48:09

现在的ASP.net分为两个版本:1.1和2.0Asp.net1.1用VS2003(visualstudio2003)编程。Asp.net2.0用VS2005(visualstudio2005)编程。现在一般开发用的是VS2003。

小魔女 发表于 2015-2-11 09:26:27

关于ASP.NET功能上,ASP.NET比微软以前的ASP(96年出现)有更强大的library,更好的稳定性。ASP.NET可以使用.NETFramework中所有组件(也就是说.NET能实现的,ASP.NET一样能实现)。

老尸 发表于 2015-3-2 09:05:41

主流网站开发语言之ASP:ASP是微软(Microsoft)所开发的一种后台脚本语言,它的语法和VisualBASIC类似,可以像SSI(ServerSideInclude)那样把后台脚本代码内嵌到HTML页面中。虽然ASP简单易用,但是它自身存在着许多缺陷,最重要的就是安全性问题。

灵魂腐蚀 发表于 2015-3-11 02:58:31

ASP.NET可以无缝地与WYSIWYGHTML编辑器和其他编程工具(包括MicrosoftVisualStudio.NET)一起工作。这不仅使得Web开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到Web页的GUI和完全集成的调试支持。微软为ASP.net设计了这样一些策略:易于写出结构清晰的代码、代码易于重用和共享、可用编译类语言编写等等,目的是让程序员更容易开发出Web应用,满足计算向Web转移的战略需要。

透明 发表于 2015-3-17 19:12:08

对于中小项目来说.net技术是完全可以胜任,但为什么现在大型公司或网站都选择php或java呢?就是因为微软不够开放,没有提供从硬件到应用服务器再到业务应用的整套解决方案。

冷月葬花魂 发表于 2015-3-24 21:40:32

虽然在形式上JSP和ASP或PHP看上去很相似——都可以被内嵌在HTML代码中。但是,它的执行方式和ASP或PHP完全不同。在JSP被执行的时候,JSP文件被JSP解释器(JSPParser)转换成Servlet代码,然后Servlet代码被Java编译器编译成.class字节文件,这样就由生成的Servlet来对客户端应答。所以,JSP可以看做是Servlet的脚本语言(ScriptLanguage)版。
页: [1]
查看完整版本: ASP.NET编程:ASP.NET技能:利用 Anthem.NET 框架的一...