2011-08-02 80 views
0

[Asp.net/Vb.Net] 如何使用Javascript驗證我的gridview頁腳複選框。我有一個GridView的頁腳有8個複選框 - (chkActive1,chkActive2,..... chkActive3) - 我想要jave的條件是 - 用戶需要檢查atleast 1複選框或否則trasaction不會允許[javascript]驗證Gridview頁腳複選框

感謝..

回答

0

那麼簡單,每一個複選框,在查看源代碼的唯一ID檢查有一些專利的名稱對照,當您檢查網頁的viewsource,只是使用的是,它的簡單方法。

0

如果我誤解了你,那麼請糾正我,我認爲這可以通過在asp.net中使用自定義驗證器來完成 由於你沒有提到我假設你正在使用CheckBoxList控件。

在.aspx頁面中使用自定義的驗證

<asp:CustomValidator ID="customValidatorForCheckboxlist" runat="server" 
ErrorMessage="Required Field" ValidationGroup="valSurvey" 
OnServerValidate="CheckifCheckBoxIsEmpty" SetFocusOnError="true" Display="Dynamic"></asp:CustomValidator> 

在codebhind使用這個邏輯,通過你的GridView行迭代,並檢查尾行。在頁腳行內循環遍歷所有複選框,然後查看它們是否被選中。我正在使用布爾字段來檢查是否選擇了任何內容。如果選擇了任何內容,跳出去。

Protected Sub CheckifCheckBoxIsEmpty(ByVal sender As Object, ByVal e As ServerValidateEventArgs) 

     Dim valbool As Boolean = False 
     For Each gvrow As GridViewRow In gridview_1.Rows 
'Check for footer row.   
If gvrow.RowType = DataControlRowType.Footer 
      For Each ct As Control In gvrow.Cells(1).Controls 
       If ct.GetType.ToString().Equals("System.Web.UI.WebControls.CheckBoxList") Then 
        Dim _checkboxlist As CheckBoxList = DirectCast(ct, CheckBoxList) 
        For Each ListItem1 As ListItem In _checkboxlist.Items 
         If ListItem1.Selected = True Then 
          valbool = True 
          Exit For 
         Else 
          valbool = False 
         End If 
        Next 
       End If 
      Next 
      End If 
     Next 
     If valbool = False Then 
      e.IsValid = False 
     Else 
      e.IsValid = True 
     End If 
    End Sub