没有内联JavaScript的asp表单提交按钮

时间:2015-12-15 22:39:32

标签: asp.net

我希望在提交表单时,在服务器端触发函数调用。我想在我的网站上使用CSP,所以不允许内联脚本(我知道我可以允许它,但这是重点)。

我有一个提交按钮:

<asp:Button ID="btnSubmit" runat="server" Text="Register" OnClick="RegisterUser" UseSubmitBehavior="true"  />

但是它会生成这个javascript并将其添加到按钮中。

onclick="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(\"ctl00$ContentPlaceHolder$btnSubmit\", \"\", true, \"\", \"\", false, false))"

*转义的报价实际上是&amp; quot;但这样看起来更好

我无法使用asp自己的提交按钮,并使用onClick来触发RegisterUser(如上面的代码所示),因为它使用了内联脚本。如果我只是使用普通提交按钮提交表单,RegisterUser不会触发。我能想到的唯一方法是在页面加载时检查表单提交并然后触发RegisterUser。还有另一种方式吗?

1 个答案:

答案 0 :(得分:0)

我说这是最简单的方法 HTML:

<button name='registerButton'>Register</button>

aspx.cs:

if (IsPostback && Request.Form.Allkeys.Contains("registerButton"))
{
    RegisterUser();
}