ASP.NET中的doPostBack脚本函数实例
来源:互联网 发布:php array key 编辑:程序博客网 时间:2024/05/20 22:04
今天来说说当ASP.NET中的doPostBack脚本函数的应用,ASPX页面有包含asp:LinkButton或者带有AutoPostBack属性且其值为true的服务器控件时,ASP.NET会自动为页面生成下面的脚本:
<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
<input type="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和回送时的参数:
protected void Page_Load(object sender, EventArgs e)
{
string target = Request.Params["__EVENTTARGET"];
string args = Request.Params["__EVENTARGUMENT"];
}
因为asp:Button和asp:ImageButton不是使用__doPostBack回送页面,所以使用这两个控件回送页面时,上面的代码是无效的。
使用HTML控件回送页面:
<form id="form1" runat="server">
<asp:LinkButton ID="LinkButton1" runat="server"></asp:LinkButton>
<input type="button" value="Client Control" onclick="javascript:__doPostBack(’Button1’, ’Button Click’);" />
</form>
protected void Page_Load(object sender, EventArgs e)
{
if(this.IsPostBack)
{
string target = Request.Params["__EVENTTARGET"];
string args = Request.Params["__EVENTARGUMENT"];
Response.Write("Button ID: " + target + "<br />");
Response.Write("Arguments: " + args + "<br />");
}
}
加入的目的是为了让ASPX自动生成__doPostBack脚本。
阻止asp:Button提交页面:
<form id="form1" runat="server">
<asp:Button ID="Button1" runat="server" Text="Button" />
</form>
protected void Page_Load(object sender, EventArgs e)
{
string scr = "return confirm(’Are you sure you want to submit this form?’);";
this.Button1.Attributes.Add("onclick", scr);
}
- ASP.NET中的doPostBack脚本函数实例
- ASP.NET中的doPostBack脚本函数实例
- ASP.NET中的doPostBack脚本函数实例
- ASP.NET中的__doPostBack脚本函数
- ASP.NET中的__doPostBack脚本函数
- ASP.NET 返回 在dopostback后也能正常返回上级页面
- asp.net中的JavaScript脚本
- ASP.NET 2.0 中的客户端脚本
- ASP.NET 中的自定义脚本回调
- ASP.NET 2.0 中的客户端脚本
- ASP.NET 2.0 中的客户端脚本
- ASP.NET 中的自定义脚本回调
- ASP.NET 2.0 中的客户端脚本
- ASP.NET 中的自定义脚本回调
- Asp.Net 2.0中的客户端脚本
- ASP.NET 网页中的客户端脚本
- ASP.NET 中的自定义脚本回调
- ASP.NET 2.0 中的客户端脚本
- Flex ModuleLoader和ModuleManager的区别、ModuleManager加载模块实例
- C#:一个增强的TcpClient(*)客户端演示程序及源代码下载
- Why do we need extern “C”{ #include <foo.h> } in C++?
- addSubview和insertSubview 区别
- linq操作
- ASP.NET中的doPostBack脚本函数实例
- Android NDK r5 windows系统上安装与使用【1】
- asterisk srtp
- 安装jdk时环境变量的配置
- irrlicht资料
- CXF 服务调用之java客户端代码
- 关于phonegap 开发iOS 程序时 的ERROR whitelist rejection【不能请求服务端】
- Spring MVC 入门
- SQL Server 改名 和 Replication, Distributor