C# 将OnClick事件添加到ASP.NET控件
我想为我的C# 将OnClick事件添加到ASP.NET控件,c#,asp.net,onclick,controls,C#,Asp.net,Onclick,Controls,我想为我的面板创建OnClick事件。到目前为止,谷歌的大部分搜索结果大致如下:。有没有办法从javascript或面板属性调用codebehind函数?因为我想将用户重定向到一个新页面,在此之前在ViewSTate或Sessionstate中保存一些信息。有什么建议吗 在java脚本方法中,对服务器端方法发出调用 <script type="text/javascript"> function YourFunction() { __doPost
面板创建OnClick
事件。到目前为止,谷歌的大部分搜索结果大致如下:。有没有办法从javascript或面板属性调用codebehind函数?因为我想将用户重定向到一个新页面,在此之前在ViewSTate或Sessionstate中保存一些信息。有什么建议吗 在java脚本方法中,对服务器端方法发出调用
<script type="text/javascript">
function YourFunction()
{
__doPostBack('btnTemp', '')
}
</script>
函数YourFunction()
{
__doPostBack('btnTemp','')
}
其中,btnTemp是服务器端的按钮,因此在服务器端写下此按钮的onClick事件,您可以在其中进行处理,然后重定向到其他页面
在java脚本方法中,您可以很好地理解dopostback at对服务器端方法的调用
<script type="text/javascript">
function YourFunction()
{
__doPostBack('btnTemp', '')
}
</script>
函数YourFunction()
{
__doPostBack('btnTemp','')
}
其中,btnTemp是服务器端的按钮,因此在服务器端写下此按钮的onClick事件,您可以在其中进行处理,然后重定向到其他页面
在ASP.NET按钮上有一个PostBackUrl属性,您可以正常呈现该按钮,然后回发到另一个页面,这就是需要声明OnClick方法的地方
我强烈建议不要返回同一个页面,然后做一个响应。重定向(),考虑流量。浏览器请求页面,然后发回一个HttpRedirect,然后导航到新页面。使用我上面概述的方法,这是不需要的,浏览器必须少发出一个请求(这意味着不必发送消息或在服务器上重建页面),这是一个显著的性能优势。ASP.NET按钮上有一个PostBackUrl属性,您可以正常呈现按钮,然后回发到另一个页面-这就是需要声明OnClick方法的地方
我强烈建议不要返回同一个页面,然后做一个响应。重定向(),考虑流量。浏览器请求页面,然后发回一个HttpRedirect,然后导航到新页面。使用我上面概述的方法,这不是必需的,而且浏览器必须减少一个请求(这意味着不必发送消息或在服务器上重建页面),这是一个显著的性能优势。我的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>
这就是我写的代码,我没有;t在上述代码中包括using语句、Page指令等。我的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>
这就是我写的代码,我没有;上面的代码中没有包含using语句、Page指令等。如果您需要访问ViewState或Session之类的服务器变量,您应该回发,然后响应。将
重定向到另一个页面。除非您需要访问ViewState,否则我不同意这一点,这将需要向服务器发出额外的请求,这非常昂贵。会话将以我在下面概述的方法提供。如果您仍然需要访问ViewState或Session之类的服务器变量,您应该回发,然后响应。重定向到另一个页面。除非您需要访问ViewState,否则我不同意这一点,这将需要向服务器发出额外的请求,这非常昂贵。会话将在我下面概述的方法中可用。btnTemp_Click()事件是否应该触发?因为现在这个页面正在为我做回发。是的,它一定被激活了,它正在和我一起在这里激活。回发期间,在Page_Load event中,检查变量Request.Params[“_EVENTTARGET”]中的值?在积极的场景中,它应该包含btnTemp。在Request.Params[“u EVENTTARGET”中,它显示BTNTEP,但是按钮点击事件没有触发。如果我在那里设置断点,它只有在按下按钮时才会触发。你能检查我的代码吗?函数CallMe(){u doPostBack('btnTemp','')受保护的无效页面\u加载(对象发送方,事件参数e){Label2.Attributes.Add(“onClick”,“CallMe()”);Label1.Text=Request.Params[“\u事件目标”];}受保护的无效btnTemp\u单击(对象发送方,事件参数e){Response.Redirect(“test.aspx”)}我使用了上面的代码,在Page_Load事件中,我写了这一行,Label1.Attributes.Add(“onclick”,“CallMe();”);这样,当单击Label1时调用CallMe,当我单击Label1时,就会触发btnTemp_click。btnTemp_click是否应该()事件触发?因为此时页面正在为我进行回发。是的,它必须被触发,它与我一起在这里触发。在回发过程中,在page_Load event中,检查变量Request.Params[“\u EVENTTARGET”]?在积极的情况下,它应该包含btnTemp。在Request.Params[“\u EVENTTARGET”它显示了BTNTEP,但是按钮点击事件没有触发。如果我在那里设置了断点,它只有在按下按钮时才会触发。你能检查我的代码吗?函数CallMe(){{uuuuu doPostBack('btnTemp','')}受保护的无效页面加载(对象发送方,事件参数e){Label2.Attributes.Add(“onClick”,“CallMe();”);Label1.Text=Request.Params[“\uu EVENTTARGET”];}受保护的void btnTemp\u Click(对象发送方,事件参数e){Response.Redirect(“test.aspx”);}我使用了上面的代码,在Page_Load事件中,我写了这一行,Label1.Attributes.Add(“onclick”,“CallMe();”),这样在单击Label1时调用CallMe,单击Label1时调用btnTemp_Cl