ASP.NET中的doPostBack脚本函数实例
http://tech.ddvip.com 2007年11月24日 社区交流
内容摘要:今天来说说当ASP.NET中的doPostBack脚本函数的应用,ASPX页面有包含asp:LinkButton或者带有AutoPostBack属性且其值为true的服务器控件时,ASP.NET会自动为页面生成下面的脚本
今天来说说当ASP.NET中的doPostBack脚本函数的应用,ASPX页面有包含asp:LinkButton或者带有AutoPostBack属性且其值为true的服务器控件时,ASP.NET会自动为页面生成下面的脚本:
以下是引用片段:
<inputtype="hidden"name="__EVENTTARGET"id="__EVENTTARGET"value=""/>
<inputtype="hidden"name="__EVENTARGUMENT"id="__EVENTARGUMENT"value=""/>
function__doPostBack(eventTarget,eventArgument){
if(!theForm.onsubmit||(theForm.onsubmit()!=false)){
theForm.__EVENTTARGET.value=eventTarget;
theForm.__EVENTARGUMENT.value=eventArgument;
theForm.submit();
}
}
__doPostBack带有两个参数:eventTarget和eventArgument。
eventTarget是引起回送的控件的ID,eventArgument是回调参数(与控件相关的附加数据)。这两个参数分别由隐藏的两个表单域__ EVENTTARGET和__ EVENTARGUMENT保存。
使用这两个隐藏的表单可以查找引起页面回送的控件ID和回送时的参数:
以下是引用片段:
protectedvoidPage_Load(objectsender,EventArgse)
{
stringtarget=Request.Params["__EVENTTARGET"];
stringargs=Request.Params["__EVENTARGUMENT"];
}
因为asp:Button和asp:ImageButton不是使用__doPostBack回送页面,所以使用这两个控件回送页面时,上面的代码是无效的。
使用HTML控件回送页面:
以下是引用片段:
<formid="form1"runat="server">
<asp:LinkButtonID="LinkButton1"runat="server"></asp:LinkButton>
<inputtype="button"value="ClientControl"onclick="javascript:__doPostBack(’Button1’,’ButtonClick’);"/>
</form>
protectedvoidPage_Load(objectsender,EventArgse)
{
if(this.IsPostBack)
{
stringtarget=Request.Params["__EVENTTARGET"];
stringargs=Request.Params["__EVENTARGUMENT"];
Response.Write("ButtonID:"+target+"<br/>");
Response.Write("Arguments:"+args+"<br/>");
}
}
加入的目的是为了让ASPX自动生成__doPostBack脚本。
阻止asp:Button提交页面:
以下是引用片段:
<formid="form1"runat="server">
<asp:ButtonID="Button1"runat="server"Text="Button"/>
</form>
protectedvoidPage_Load(objectsender,EventArgse)
{
stringscr="returnconfirm(’Areyousureyouwanttosubmitthisform?’);";
this.Button1.Attributes.Add("onclick",scr);
}
责编:豆豆技术应用
- asp.net 视频教程
- asp.net 数据库编程
- asp.net 入门教程
- ado.net 教程
- asp.net 基础讲座
- asp.net ajax 教程
- asp.net ajax 入门系列
- asp.net 控件开发基础
- asp.net 2.0 服务器控件
- asp.net 2.0 教程
- asp.net 控件开发
- asp.net 类
- asp.net 分页
- asp.net 页面缓存
- asp.net 常见问题解决
- asp.net 2.0 母版页
- asp.net SQL Server
- asp.net 错误
- asp.net 事件
- asp.net 组件
- asp.net 性能
- asp.net 文件上传
- 更多asp.net专题……