Call custom client side validation function after WebForm_OnSubmit? .NET

依然范特西╮ 提交于 2019-12-14 02:18:00

问题


I want to run a simple JS function after my .NET validator controls run their javascript. My onsubmit value is javascript:return WebForm_OnSubmit();, which seems to be generated automatically and I can't change it.

Am I right in assuming I need to just add a function in this field to get it to work? Also, my form is validating after a field has been changed (not once the form has been submitted), which is great, but is there a setting soimewhere to turn that on/off?

Thanks!!


回答1:


Althought it is a late answer I will post for future.
If your aspx page is a simple page (no ContentPage, so no MasterPage) you can add onsubmit function directly on the markup:

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

"WebForm_OnSubmit()" will be executed first and then if validation is ok "myCustomValidation()" will be executed.

If your aspx page is a ContentPage (so it has a MasterPage) you don't have access to markup in order to do the same as before. You can set "myCustomValidation()" to be executed after "WebForm_OnSubmit()" in code behind:

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

The key is to set this code in "PreRenderComplete" event and not in "Load" event, in order to execute "myCustomValidation()" after "WebForm_OnSubmit()".



来源:https://stackoverflow.com/questions/6542817/call-custom-client-side-validation-function-after-webform-onsubmit-net

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!