ASP.net button 按钮onclick事件无法调用后台方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ASP.net button 按钮onclick事件无法调用后台方法相关的知识,希望对你有一定的参考价值。
<input id="HomeLogOff" class="HomeLogOff" type="submit" value="注销" runat="server" onserverclick="UserRegister"/> 前台的按钮,
后台也写了相应i的方法
void UserRegister(object sender, EventArgs e) //注销方法 by wys 04/25
if (Session["User"]!=null)
Session.Contents.Remove("User"); //删除 session
Response.Redirect("Default.aspx"); //重定向首页
无法成功调用,是什么原因呐?我看有人说,html的服务器控件,这样写,需要javascript注册一下,这是怎么回事呐
OnClientClick 是客户端点击提交 执行顺序在 onclick 之前,先触发JS判断,判断通过再通
过 Onclick 提交。
要是还不能解决?
你来我们群里说吧
这里是开发者互相学习交流的
有大神
让他们给你解释你的疑问 q un号: 188168040
ASP.NET/HTML:ASP.NET (.cs) 中 HTML 按钮的 onClick 属性
【中文标题】ASP.NET/HTML:ASP.NET (.cs) 中 HTML 按钮的 onClick 属性【英文标题】:ASP.NET/HTML: HTML button's onClick property inside ASP.NET (.cs) 【发布时间】:2011-03-11 04:22:42 【问题描述】:我只是想知道是否有办法将我的 onClick 事件放入 .cs:
<button type="submit" runat="server" id="btnLogin" class="button" onclick="btnLogin_Click();">
Login_Click() 应该在 .cs 中的位置:
protected void btnLogin_Click(object sender, EventArgs e)
// do something
请注意,我不会在这里使用 ASP.NET 按钮,并且我不会将 Login_Click() 事件放在 .html/.aspx 中,因此我不能“公开”我的代码。有什么建议吗?
【问题讨论】:
【参考方案1】:您可以在任何服务器控件上执行此操作,并且通过定义“runat=server
”使此按钮成为服务器控件。问题可能出在您对事件的定义中:
<button ... runat="server" ... onServerClick="btnLogin_Click" />
那里不需要“();
”...
除此之外,你能解释一下为什么你不在这里使用<asp:Button>
,因为我真的看不出有什么问题...
【讨论】:
看起来他已经在提供的示例中将其设为runat="server"
。
R0MANARMY 是对的,您需要 HtmlButton 的“OnServerClick”事件。更新了我的示例...
使用 HTML 按钮标签而不是 asp 控件的一个常见原因是 asp 呈现控件的 ID,而在公共按钮标签中您可以对其进行更多控制。【参考方案2】:
您需要使用onServerClick。在MSDN 上有一个如何做到这一点的示例:
<button id="Button1" OnServerClick="Button1_OnClick" runat="server">
Click me!
</button>
protected void Button1_OnClick(object Source, EventArgs e)
// secret codes go here
【讨论】:
【参考方案3】:btnLogin.Click += new EventHandler( btnLogin_Click );
将 btnLogin_Click 事件处理程序分配给按钮的 Click 事件。
但是,我要指出的是,在 aspx 页面的标记中分配处理程序不会“暴露您的代码”,因为呈现给客户端的 HTML 中没有任何信息。
【讨论】:
【参考方案4】:我知道已经很晚了,但我在这个问题上浪费了很多时间。我正在设置带有按钮的 div 的 InnerHtml。如果你想让它工作,你需要将 type="submit" 添加到你的按钮。
【讨论】:
【参考方案5】:已经很晚了,但是对于那里的人:申请UseSubmitBehavior="False"
。示例
<button type="submit" runat="server" UseSubmitBehavior="False" type="button" id="btnLogin" class="button" onclick="btnLogin_Click();">
【讨论】:
以上是关于ASP.net button 按钮onclick事件无法调用后台方法的主要内容,如果未能解决你的问题,请参考以下文章
ASP.NET/HTML:ASP.NET (.cs) 中 HTML 按钮的 onClick 属性