将OnClick事件添加到ASP.NET控件

时间:2012-06-05 07:37:49

标签: c# asp.net onclick controls

我想为OnClick创建panel个活动。到目前为止,大多数谷歌搜索结果看起来或多或少都像这样:adding onclick event to aspnet label。有没有办法,从javascript或面板属性调用codebehind函数?因为我想将用户重定向到新页面,然后在ViewSTate或Sessionstate中保存一些信息。有什么建议?

3 个答案:

答案 0 :(得分:2)

在您的java脚本方法中,__dopostback调用Server side method

<script type="text/javascript">
     function YourFunction()
     {
         __doPostBack('btnTemp', '')
     }
</script>

btnTemp 是服务器端按钮,因此在服务器端编写此按钮的onClick事件,您可以在其中执行处理,然后重定向到其他页面。

您可以在DoPostBack Understanding

了解dopostback

答案 1 :(得分: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指令等。

答案 2 :(得分:0)

ASP.NET按钮上有一个PostBackUrl属性,您可以正常渲染按钮然后回发到另一个页面 - 这是您需要声明OnClick方法的地方。

我强烈建议不要回到同一页面然后做一个Response.Redirect(),考虑一下流量。浏览器请求页面,然后回发帖子发送HttpRedirect,然后导航到新页面。使用上面概述的方法,这不是必需的,浏览器必须减少一个请求(意味着不必发送消息或在服务器上重建页面),这是一个重要的性能优势。