1 / 175
文档名称:

NET(C)开发中的常见经典问题汇总(60问).doc

格式:doc   大小:4,134KB   页数:175页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

NET(C)开发中的常见经典问题汇总(60问).doc

上传人:书犹药也 2020/3/20 文件大小:4.04 MB

下载得到文件列表

NET(C)开发中的常见经典问题汇总(60问).doc

相关文档

文档介绍

文档介绍:Q1:在验证发生前无法调用””中,为了方便表单的验证,提供了验证控件来完成表单输入数据的验证。这些验证控件确实是功能强大,为写表单程序提供了极大的便利。可是,在不熟悉的情况下,经常碰到问题。其中,最常见的是遇到错误:。这个问题我认为是很多朋友受了《》这本书。这本书在网友间流传甚广,也确实是一本不错的入门书,可是错误也有一些,比如这里。在该书论述到验证组件的时候,演示RequiredFieldValidator的用法时,有这样一个程序::<%***@PageLanguage="C#"%><ScriptLanguage="C#"Runat="Server">protectedvoidPage_Load(objectsender,EventArgse){if(){if(){="已经经过验证";}else{="没有经过验证";}}}</script><html><head><title></title></head><body><formrunat="server"><table><tr><tdcolspan=2align="center"><b>RequiredFieldValidator控件演示</b></td></tr><tr><td>姓名:</td><td><asp:TextBoxid="name"runat="server"/>*<asp:RequiredFieldValidatorid="rfv1"runat="server"ControlToValidate="name"Display="Static">(请填写姓名)</asp:RequiredFieldValidator></td></tr><tr><td>年龄:</td><td><asp:TextBoxid="age"runat="server"/>*<asp:RequiredFieldValidatorid="rfv2"runat="server"ControlToValidate="age"Display="Static">(请填写年龄)</asp:RequiredFieldValidator></td></tr><tr><td><asp:ButtonText="提交"runat="server"/></td><td></td></tr></table><hr><asp:Labelid="show"ForeColor="red"runat="server"/></form></body></html>运行这个程序,就发生了错误:。应在控件的事件处理程序中使用CausesValidation=。这个问题的发生来自作者的一个小疏忽。其实,在点击提交按钮时,程序先进行了验证,验证经过后才会和服务器交互(这里是重新加载,调用了Page_Load)。问题的根源是对于asp:Button控件,点击的时候是默认先进行表单的验证的。有的朋友希望在表单里有两个按钮,其中有的按钮执行的操作和表单本身无关,不需要验证,但也默认必须进行验证,对程序设计上造成不少烦恼。其实,这个问题很好解决。Button控件有一个属性CauseValidation,默认是true。只需要将此属性设为false,就不会引发表单验证了。需要验证的时候,能够手工调用验证代码:()()进行验证。Q2:,Request时出现有HTML或Javascript等字符串时,系统会认为是危险性值。立马报错上面的错误。解决办法:解决方案一:  :  <%@ PagevalidateRequest="false" %>  ,添加代码<httpRuntime requestValidationMode="" />: 即<configuration>    <>      <httpRuntime requestValidationMode="" />  </>  </configuration> 解决方案二:  :  <configuration>    <>      <httpRuntime requestValida