javascript - 摆脱 asp.net 中自动生成的 javascript 事件

标签 javascript asp.net

在 ASP.NET 应用程序中,我得到了自动生成的 javascript 事件,但我真的不想要。我有一个名为登录的按钮,因为这个自动生成的 JavaScript 事件我的客户端无法登录,这是自动生成的,我真的不知道为什么会发生这种情况

客户用户控件.ascx 文件中的 Asp.net 按钮

<asp:Button ID="cmdLogin" runat="server" Text="Login" CssClass="Footer_button" 
                        CommandName="login"  CausesValidation="True" />

正如您所看到的,按钮中根本没有事件,但是当我在任何浏览器中运行我的应用程序时,它都会呈现自动生成的事件

自动生成 JavaScript 事件

    <input name="ctl00$header1$slidingpanel1$Login1$cmdLogin" value="Login" id="ctl00_header1_slidingpanel1_Login1_cmdLogin" class="Footer_button" type="submit"
onclick="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(&quot;ctl00$header1$slidingpanel1$Login1$cmdLogin&quot;, &quot;&quot;, true, &quot;&quot;, &quot;&quot;, false, false))">

我想摆脱这个自动生成的onclick事件,并且它正在浏览器中的aspnetform中渲染onsubmit事件

<form name="aspnetForm" method="post" action="default.aspx" onsubmit="javascript:return WebForm_OnSubmit();" id="aspnetForm">

我想摆脱这个自动生成的 JavaScript 事件请帮助我解决这个问题,因为其他人也可能有这个问题 提前致谢

最佳答案

它是 javascript,所以你可以完全摆脱它。 (你应该吗?那不是问题..)

只需将其放在页面底部(如果调用,则会抛出异常);

window.WebForm_OnSubmit = null;
window.WebForm_DoPostBackWithOptions = null;

或者覆盖它来执行您想要的操作,包括无操作:

window.WebForm_OnSubmit = window.WebForm_DoPostBackWithOptions = function() { };

或者在文档呈现时使用 javascript 将其从控件中删除:

document.getElementById("ctl00_header1_slidingpanel1_Login1_cmdLogin").onclick = null;

document.getElementById("ctl00_header1_slidingpanel1_Login1_cmdLogin").onclick = function()
{
    alert("My custom onclick handler");
}

并从表单中删除回发处理程序:

document.getElementById("aspnetForm").onsubmit = null;

但是,如果您不使用回发,也不将客户端 onclick 处理程序附加到此按钮,那么您到底用它来做什么?正常提交表格就可以吗?请提供更多详细信息。

我通常用我自己的自定义函数覆盖 doPostBack 和/或 form.onsubmit 的 ASP.NET 版本,该函数负责处理其他事情,例如强制等待挂起的 AJAX 调用完成(或中止它们).. 取决于我想要实现的目标。

关于javascript - 摆脱 asp.net 中自动生成的 javascript 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19566750/

相关文章:

c# - session 状态变量不起作用

asp.net - ASP.net 按钮 Web 控件的 Javascript 属性

asp.net - .Net Uri 编码 RFC 2396 与 RFC 3986

javascript - jQuery e.clientX 返回未定义

asp.net - 如何检测SessionState是否过期?

javascript - 访问 HTML 和 Asp.net 控件的通用 JavaScript 函数?

javascript - D3JS 在时间尺度上堆叠条形图

javascript - ReactJS [生产问题] - TypeError : (void 0) is not a function

javascript - 是否有一个模板引擎可以在数据更改时更新 DOM?

JavaScript 在函数中返回