广东省建设信息网站成绩查询,网站备案指的是什么,公司网站维护好做吗,网站数据库结构被删了怎么办这里需要提一下的是#xff0c;asp.net编程提供了服务端控件和客户端控件的说法#xff0c;其实还是脱离不了HTML的本质#xff0c;客户端和服务端需要交互必须要提交#xff0c;提交有两种方式get和post,get就是通过向服务端发送连接地址#xff0c;服务端通过地址的参数… 这里需要提一下的是asp.net编程提供了服务端控件和客户端控件的说法其实还是脱离不了HTML的本质客户端和服务端需要交互必须要提交提交有两种方式get和post,get就是通过向服务端发送连接地址服务端通过地址的参数来获得信息的一般这些参数都是明文,能在浏览器地址栏看到。而post是通过表单的input等元素提交到服务端的页面的,这些数据一般是看不到的。asp.net的服务端控件其实就是对一般的HTML控件做了个包装大体是通过隐藏控件提供控制的参数的。 这里介绍一个常用的函数_doPostBack,这个函数如果如果是ASP.Net render出来的页面就是自动产生这个函数比如有带autopostback属性的控件且其属性为true的页面带编辑列的datagrid页面。 __doPostBack是通过__EVENTTARGET,__EVENTARGUMENT两个隐藏控件向服务端发送控制信息的__EVENTTARGET为要调用控件的名称如果要调用的控件是子控件用$或:分割父控件:子控件,__EVENTARGUMENT是调用事件时的参数 下面演示下如何调用后台事件 1.新建工程 2.拖入一个服务端Button1,一个DropDownList1和一个客户端Button 3.设置DropDownList1的AutoPostBack属性为True,Button1的Visible为False 4.双击Button1在事件里写下Response.Write(hello: ); 5.页面的HTML里找到客户端Button写入οnclick__doPostBack(Button1,) 6.编译运行点击Button是不是出现了Hello 7.查看源代码发现里面多了下面行 复制代码代码如下: script languagejavascript !-- function __doPostBack(eventTarget, eventArgument) { var theform; if (window.navigator.appName.toLowerCase().indexOf(netscape) -1) { theform document.forms[Form1]; } else { theform document.Form1; } theform.__EVENTTARGET.value eventTarget.split($).join(:); theform.__EVENTARGUMENT.value eventArgument; theform.submit(); } // -- /script 以及两个隐藏控件 复制代码代码如下: input typehidden name__EVENTTARGET value / input typehidden name__EVENTARGUMENT value / 值得注意的是,_doPostPack的第一个参数是大小写不敏感的 细心的人会发现在__doPostBack里提交调用的是theform.submit()这样就导致对Form的onsubmit事件校验失效了幸好这个问题在asp.net 2.0已经修复了。这里提供一个替换的解决办法在Form的最下面插入下面的代码这段代码在保证不管是不是render出来的页面均有效 复制代码代码如下: script languagejavascript !-- function __doPostBack_Ex(eventTarget, eventArgument) { var theform; if (window.navigator.appName.toLowerCase().indexOf(netscape) -1) { theform document.forms[0]; } else { theform document.forms[0]; } if(!theform.__EVENTTARGET) { theform.appendChild(document.createElement(input typehidden name__EVENTTARGET)); } if(!theform.__EVENTARGUMENT) { theform.appendChild(document.createElement(input typehidden name__EVENTARGUMENT)); } theform.__EVENTTARGET.value eventTarget.split($).join(:); theform.__EVENTARGUMENT.value eventArgument; if ((typeof(theform.onsubmit) function)) { if(theform.onsubmit()!false) { theform.submit(); } } else { theform.submit(); } function __doPostBack(eventTarget, eventArgument) { __doPostBack_Ex(eventTarget, eventArgument); } } // -- /script 转载于:https://www.cnblogs.com/abc123456/p/4553831.html