我在ItemCreated加了一个保存的按钮 但是他触发不了ItemCommand事件,网上说视乎是会回发掉。
我想知道怎么解决这个问题,具体代码如下:
Private Sub dgdResult_ItemCreated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles dgdResult.ItemCreated
If (e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem) Then
Dim lnkSave As LinkButton = New LinkButton
With lnkSave
.ID = "lnkSave"
.Text = Me.ResGetString("<img src=../../../img/save.gif alt=保存 border=0 />")
.CausesValidation = False
.CommandName = "Update"
End With
e.Item.Cells(dgdResult.Columns.Count - 1).Controls.Add(lnkSave)
End If
End Sub
Private Sub dgdResult_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles dgdResult.ItemCommand
Select Case e.CommandName
Case "Update"
Dim txtNote As TextBox = e.Item.FindControl("txtNote")
If Not txtNote Is Nothing Then hrkq.NewDetailNoteUp(dgdResult.DataKeys(e.Item.ItemIndex), txtNote.Text.ToString)
If Not array Is Nothing Then
For i As Integer = 1 To array.Length
Dim txtCustom As TextBox = e.Item.FindControl("txtCustom" & i)
hrkq.NewDetailCustomUp(dgdResult.DataKeys(e.Item.ItemIndex), txtCustom.Text.ToString, i)
Next
End If
End If
End Select
BindGrid()
End Sub
------解决方案--------------------
我记得是button.commandname=....,然后再itemcommand里面根据commandname来处理
------解决方案--------------------
看看这个有没有帮助:
http://forums.asp.net/t/1184746.aspx
大意就是每次page_load的时候都要Bind一下Data.