在WebForm_OnSubmit之后调用自定义客户端验证函数? 。净

时间:2011-07-01 01:40:29

标签: jquery asp.net client-side-validation

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

我是否正确地假设我需要在此字段中添加一个函数才能使其正常工作?此外,我的表单在一个字段被更改后验证(不是一旦提交了表单),这很好,但是有没有设置soimewhere打开/关闭它?

谢谢!

1 个答案:

答案 0 :(得分: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()"