将 OnClick 事件添加到 ASP.NET 控件
本文关键字:ASP NET 控件 添加 OnClick 事件 | 更新日期: 2023-09-27 18:36:25
我想为我的panel
创建OnClick
事件。到目前为止,大多数谷歌结果或多或少看起来像这样:将onclick事件添加到aspnet标签。有没有办法从javascript或面板属性调用代码隐藏函数?因为我想将用户重定向到新页面,在此之前将一些信息保存在 ViewSTate 或会话状态中。有什么建议吗?
在您的 java 脚本方法中,对Server side method
提出__dopostback
调用。
<script type="text/javascript">
function YourFunction()
{
__doPostBack('btnTemp', '')
}
</script>
其中 btnTemp 是服务器端按钮,因此请在服务器端编写此按钮的 onClick 事件,您可以在其中进行处理,然后重定向到其他页面。
您可以在DoPostBack Understanding上对dopostback有一个很好的了解
我的 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 指令等。
ASP.NET 按钮上有一个 PostBackUrl 属性,您可以正常呈现按钮,然后回发到其他页面 - 这是需要声明 OnClick 方法的地方。
我强烈建议不要回发到同一页面,然后执行Response.Redirect(),考虑流量。 浏览器请求该页面,然后向回发发送HttpRedirect,然后导航到新页面。 使用我上面概述的方法,这不是必需的,浏览器必须减少一个请求(这意味着不必发送消息或在服务器上重建页面),并且具有显着的性能优势。