2

我想在我的 .NET 验证器控件运行它们的 javascript 之后运行一个简单的 JS 函数。我的 onsubmit 值为 javascript:return WebForm_OnSubmit();,它似乎是自动生成的,我无法更改它。

我是否正确假设我只需要在此字段中添加一个函数即可使其正常工作?此外,我的表单在更改字段后进行验证(不是在提交表单后),这很好,但是是否有设置可以打开/关闭它?

谢谢!!

4

1 回答 1

0

虽然这是一个迟到的答案,但我会在未来发布。
如果您的 aspx 页面是一个简单页面(没有 ContentPage,所以没有 MasterPage),您可以直接在标记上添加 onsubmit 函数:

<form ... onsubmit="return myCustomValidation();"... >

"WebForm_OnSubmit()"将首先执行,然后如果验证正常"myCustomValidation()",将执行。

如果您的 aspx 页面是 ContentPage(因此它具有 MasterPage),则您无权访问标记以执行与以前相同的操作。您可以设置"myCustomValidation()""WebForm_OnSubmit()"在后面的代码之后执行:

Private Sub Page_PreRenderComplete(sender As Object, e As EventArgs) Handles Me.PreRenderComplete
    If Not Page.ClientScript.IsOnSubmitStatementRegistered(Me.GetType, "aspxMyCustomValidation") Then
        Page.ClientScript.RegisterOnSubmitStatement(Me.GetType, "aspxMyCustomValidation", "myCustomValidation()")
    End If
End Sub

关键是将此代码设置在"PreRenderComplete"事件中而不是"Load"事件中,以便在"myCustomValidation()"之后执行"WebForm_OnSubmit()"

于 2018-07-26T12:54:48.110 回答