2014-10-02 42 views
0

嗨我有一個javascript,我需要在datagrid itemdabound期間每行都運行它。不過,我使用下面的代碼,它只顯示一次。有人會告訴我如何解決這個問題。提前致謝。如何在itemdatabound期間的每一行調用javascript函數

代碼:

Private Sub dgrdConfirmed_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) _ 
    Handles dgrdConfirmed.ItemDataBound 

    Select Case e.Item.ItemType 
     Case ListItemType.Item, ListItemType.AlternatingItem, ListItemType.EditItem 
      Dim dr As DataRow = CType(e.Item.DataItem, DataRowView).Row 

      If (Not Page.ClientScript.IsStartupScriptRegistered(Page.GetType(), "addWarning")) Then 
       Dim cs As ClientScriptManager = Page.ClientScript 
       cs.RegisterStartupScript(Page.GetType(), "addWarning", 
        "<script language='javascript' type='text/javascript'>addWarning 
        ();</script>") 
      Else 
       Dim lt As New Literal 
       lt.Text = "<script type='text/javascript'>addWarning()</script>" 
       lt.Mode = LiteralMode.Transform 


      End If 
    End Select 
End Sub 

有我的javascript:

<script type="text/javascript" > 
     function addWarning(e) { 
      alert('addWarning'); 

     } 

</script> 
+0

嘗試重新解釋你的問題。 ItemDataBound是服務器端事件,JavaScript函數在客戶端執行。當'dgrdConfirmedContinuedHearings_ItemDataBound'運行時,沒有什麼可以運行的JavaScript。用javascript達到瀏覽器還需要很長時間。 – Igor 2014-10-02 22:01:58

+0

'addWarning'做什麼?您可以使用jQuery來迭代網格中的行(這將是一個表)。 – sh1rts 2014-10-03 03:30:31

回答

0

我認爲它能夠更好地循環jQuery中gridview的行不調用數據綁定的JavaScript,你可以使用這個代碼塊,並且不要忘記製作GridView的ClientIDMode靜態:

$("#GridViewID tr").each(function() { 
     var checkBox = $(this).find("input[type='checkbox']"); 
     var textBox = $(this).find("input[type='text']"); 
     if ($(checkBox).is(':checked')) { 
      if (textBox.val().length === 0) { 
       alert("Warning Length 0 !!"); 
      } 
      else { 
       alert("Warning Length diffrent of 0 !!"); 
      } 
     } 
    }); 
相關問題