我想创建OnClick
我的活动panel
。 到目前为止,现在大部分的谷歌搜索结果的这个样子或多或少: 添加onclick事件ASPNET标签 。 有什么办法,从JavaScript或面板属性调用代码隐藏功能? 因为我想将用户重定向到一个新的页面,在此之前,保存在ViewState中或SessionState的一些信息。 有什么建议?
Answer 1:
在Java脚本方法养__dopostback
调用一个Server side method
。
<script type="text/javascript">
function YourFunction()
{
__doPostBack('btnTemp', '')
}
</script>
凡btnTemp是一个服务器端的按钮 ,所以写在服务器端这个按钮,在那里你可以做处理,然后重定向到其他页面的onclick事件。
你可以有dopostback在一个很好的理解DoPostBack理解
Answer 2:
我的aspx页面是这样的:
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<script type="text/javascript">
function CallMe() { __doPostBack('btnTemp', '') }
</script>
</head>
<body>
<form id="form1" runat="server">
<asp:Button ID="btnTemp" runat="server" Text="Test" onclick="btnTemp_Click" />
<div> <asp:Label ID="Label1" runat="server" Text="Label1"></asp:Label>
<asp:Label ID="Label2" runat="server" Text="Label"></asp:Label></div>
</form>
</body>
而我的服务器端代码如下:
protected void Page_Load(object sender, EventArgs e)
{
Label1.Attributes.Add("onClick", "CallMe();");
}
protected void btnTemp_Click(object sender, EventArgs e)
{
}
那是我写的,我的避风港代码;吨包括using语句,Page指令等,在上面的代码。
Answer 3:
有一个ASP.NET按钮PostBackUrl属性,可以显示该按钮为正常回发,然后到不同的页面 - 这是你的OnClick方法将需要申报。
我会强烈建议对回发到同一页,然后做的Response.Redirect(),考虑到交通。 浏览器请求页面时,会回则发送HttpRedirect,然后导航到新的页面。 有了上面的方法,这是不需要我所概述,浏览器必须作出一个请求较少(意味着消息没有被发送或重建的服务器上的页面),是一个显著的性能优势。
文章来源: Adding OnClick event to ASP.NET control