建设网站建设什么征琴,小女孩做网站,云南省建设工程造价信息网官网,票务网站模板转载#xff1a; 首先要记住这个函数的前面是两个下划线. __doPostBack _ _ doPostBack. 再介绍一下__doPostBack函数的作用。我们先来看一下_doPostBack函数的内容#xff1a; divinput typehidden name 首先要记住这个函数的前面是两个下划线. __doPostBack _ _ doPostBack. 再介绍一下__doPostBack函数的作用。我们先来看一下_doPostBack函数的内容 divinput typehidden name__EVENTTARGET id__EVENTTARGET value /input typehidden name__EVENTARGUMENT id__EVENTARGUMENT value /input typehidden name__VIEWSTATE id__VIEWSTATE value/wEPDwULLTE4NDIzMDg2NDRkZMlHJoBQ9CYcWBtBKzrfZzKoh/i //div script typetext/javascript...!--var theForm document.forms[form1];if (!theForm) ...{ theForm document.form1;}function __doPostBack(eventTarget, eventArgument) ...{ if (!theForm.onsubmit || (theForm.onsubmit() ! false)) ...{ theForm.__EVENTTARGET.value eventTarget; theForm.__EVENTARGUMENT.value eventArgument; theForm.submit(); }}// --/script div上面这段是直接从含有自动回传功能控件的.net Web页面的HTML源代码里面粘帖过来的。 其中eventTarget 和eventArgument是两个就是用来存储在回送的时候获取是哪个控件触发了回送并且带了什么参数。总之调用__doPostBack函数可以实现客户端控件调用服务器端控件的响应。或者是在javascript里面调用.net的服务器控件事件。这一点可以充分用在子窗口调用父窗口中某个服务器控件的服务器端的事件。 然后我们可以从LinkButton这个控件入手分析一下 LinkButton的工作流程就知道__doPostBack的使用方法了。因为微软的LinkButton就是使用__doPostBack函数来达到使用客户端的控件来调用服务器端的函数的。 我们可以运行一个包含有LinkButton的aspx页面查看他的源代码发现关于LinkButton这个控件的代码竟然是一个超链接 aspx中LinkButton的代码asp:LinkButton IDLinkButton1 runatserver OnClickLinkButton1_Clickbutton1/asp:LinkButton在html中的源码中被翻译成了a idLinkButton1 hrefjavascript:__doPostBack(LinkButton1,)button1/a 上面的代码可以明显的看出LinkButton只不过就是一个超链接他的链接就是执行javascript语句通过调用__doPostBack函数来调用服务器端的后台代码的。因此在有LinkButton的页面会自动加上上面的__doPostBack函数。 但是在我们调用__doPostBack函数时有些时候调用这个函数会出现对象不存在的脚本错误 那是因为Html里面没有__doPostBack函数体一般在拖放那些有自动回传功能的控件时当把他的autoPostback属性设为True在运行的时候系统会自动添加__doPostback函数体当然最直接的办法就是添加一个LinkButton然后把其Text属性设为空切记不要设Visible属性因为如果Visiblefalse在翻译成Html时直接就忽略LinkButton的存在了。 以前我 看到 许多关于 此函数的 用法。可是我一直没有成功过。也没有找到原因。 今天 突然 发现 我以前没有成功的原因。 那就是 __doPostBack(Button1,) 函数中的第一个参数 必须是控件的名字就是Name属性的值 而不是 控件的ID 如网上 介绍说是 function pCall(){__doPostBack(Button1,);} 可以直接刷新页面执行后台代码。 控件名如果含有: 需要预先替换为$) 即使控件设为隐藏如button的visible false页面上没有生成button, 仍然可以这样直接使用。 总结 说此函数 用法要注意的地方太多 第一 doPostBack 函数名很特别他的前面有两个 下划线。而且大小写要区分好。 第二 第一个参数 必须用 控件的 name 而不是ID。 控件名有个规律是一层一层的将父控件ID用$符号连接起来的。 MyDataGrid是DataGrid的ID_ctl13是DataGridItem的IDlbtnV1是这个linkbutton的ID。其实通过查看源代码可以看出 来的。 第三 第二个参数 是传给控件的Value值。 其实第一个参数对应 Request.Form[__EVENTTARGET]; 第二个参数对应 Request.Form[__EVENTARGUMENT]; 第四 此函数是DOTNET 的服务器控件产生的。 所以要使用此函数必须整个页面上至少要有一个控件 可以回传页面。有些控件 的autoPostBack 必须设为TRUE。 其实dotnet 服务器控件 在页面上产生两个隐藏的控件一个名为__EVENTTARGET 另一个名为__EVENTARGUMENT 第一个的值是触发事件的控件名 第二个的值是此控件所带的值转载于:https://www.cnblogs.com/bfy-19/archive/2012/09/04/2670149.html