2015-04-30 96 views
0

我在頁面中做了一些驗證,並且此驗證工作正常。但是,當用戶嘗試第一次失敗嘗試後傳遞正確的值,這個錯誤發生Invalid postback or callback argument. Event validation is enabled using <pages enableEventValidation="true"/> in configuration or <%@ Page EnableEventValidation="true" %> in a page.即使修正後拋出異常

VB.NET:

Protected Sub btnUpdate_Click(sender As Object, e As EventArgs) Handles btnUpdate.Click 
Try 
    If Not String.IsNullOrEmpty(txtHRRemarks.Text) Then 
     If txtHRRemarks.Text.Trim().Length > 3 Then 
     ModalPopUpExt.Hide() 
     Throw New ApplicationException("Please reduce HR Remarks (max 500 chars)") 
    End If 
    End If 
Catch ex As Exception 
     Utilities.PageMessage = "" 
     Utilities.DisplayExceptionDetails(ex) 
End Try 
End Sub 

Protected Overrides Sub Render(writer As HtmlTextWriter) 
    If Utilities.PageError <> "" Then 
     pnlMsgs.Visible = True 
     Me.hfErrMsg.Value = "Error" 
     Dim Validator As New RequiredFieldValidator 
     Validator.ErrorMessage = Utilities.PageError 
     Validator.ValidationGroup = "ErrorGroup" 
     Validator.IsValid = False 
     Validator.Visible = False 
     placeholderError.Controls.Add(Validator) 
     Utilities.PageError = "" 
     upErrorMsg.Update() 

    ElseIf Utilities.PageMessage <> "" Then 
     pnlSccs.Visible = True 
     lblSuccess.Text = Utilities.PageMessage 
     Utilities.PageMessage = "" 
     upSuccessMsg.Update() 
     Utilities.PageMessage = "" 
    Else 
     pnlMsgs.Visible = False 
    End If 
    MyBase.Render(writer) 
End Sub 

的發生錯誤的用戶糾正抓住了數據之後驗證。

+0

你的意思是你拋出的錯誤嗎? – OneFineDay

+0

@OneFineDay拋出異常並且用戶更正該值並將其設置爲小於3時,會出現問題中提到的錯誤。 – 7alhashmi

回答

0

看代碼...

If Not String.IsNullOrEmpty(txtHRRemarks.Text) Then 
    If txtHRRemarks.Text.Trim().Length > 3 Then 
    ModalPopUpExt.Hide() 
    Throw New ApplicationException("Please reduce HR Remarks (max 500 chars)") 
End If 
End If 

所以,如果txtHRRemarks.Text.Trim()。長度> 3,你是總是拋出異常!

+0

是的,我做了這個測試。 – 7alhashmi

+0

問題是拋出的異常和用戶更正值並將其設置爲小於3時,會出現問題中提到的錯誤。 – 7alhashmi