2012-04-12 27 views
0

我在我的ASP.net網站中有一個母版頁。在這裏我有一個按鈕。它將導航到wecomePage。這是後面的代碼。在子頁面中激活Required驗證時不起作用MasterPage事件

protected void ImageButtonShortcut1_Click(object sender, ImageClickEventArgs e) 
{ 
    Response.Redirect("welcomePage.aspx", true); 
    //Server.Transfer("welcomePage.aspx", true); 
} 

現在我有一個childpage繼承上面的master。在子頁面中,我使用了一個帶有Required validation的TextBox。

<asp:TextBox ID="TextBox_Model" runat="server"> </asp:TextBox> 
      <asp:RequiredFieldValidator ID="RequiredFieldValidator6" runat="server" 
         ControlToValidate="TextBox_Model" ErrorMessage="Model Required"></asp:RequiredFieldValidator> 

場景:當用戶瀏覽到上述子頁面,而無需輸入任何東西到文本框,他是想打母版頁按鈕返回WelcomePage

不幸的是,由於用戶未填寫必填字段,所以不允許導航。我怎樣才能克服這個問題?請幫幫我。謝謝。

回答

0

看起來你沒有使用ValidationGroup作爲RequiredFieldValidator對應的Button。嘗試使用

<asp:RequiredFieldValidator ID="RequiredFieldValidator6" runat="server" 
       ValidationGroup="WelcomePageTxtBox" ControlToValidate="TextBox_Model" ErrorMessage="Model Required"></asp:RequiredFieldValidator> 
     <asp:Button ID="Button2" runat="server" ValidationGroup="WelcomePageTxtBox" Text="Button" /> 
0

基本上它發生的每個控件都設置爲CausesValidation屬性設置爲True。

Required Field validator and Page Valid methods

validate方法遍歷所有啓用的驗證控件的頁面上 並驗證它們。此事件發生在頁面生命週期中的加載事件 之後。

如果引發事件的控制已經指定的ValidationGroup, 屬於同一 然後的ValidationGroup僅啓用驗證器控件通過調用 Page.Validate(的ValidationGroup)過載的方法驗證。如前面提到的 ,對於具有 CausesValidation屬性設置爲true的控件,這將自動完成。

  1. 指定驗證組將只獲得代碼頁面生命週期

期間驗證背後,你可以做這樣的

protected void button2_click(object sender, EventArgs e) 
{ 
if(!page.isValid) 
//show errors 
} 
else 
{ 
// do some stuffs 
} 
相關問題