哈哈哈,我开始也烦劳这个问题啊,我来告诉你答案,不过我的是vb的代码,但是都查不多的; Protected Sub dg_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles dg.ItemCommand Select Case e.CommandName Case "del" 'Response.Write("删除操作") Dim MyCommand As SqlCommand Dim DeleteCmd As String = "DELETE from aa where id = @Id" MyCommand = New SqlCommand(DeleteCmd, myconn) MyCommand.Parameters.Add(New SqlParameter("@Id", SqlDbType.Int, 4)) MyCommand.Parameters("@Id").Value = dg.DataKeys(CInt(e.Item.ItemIndex)) MyCommand.Connection.Open() MyCommand.ExecuteNonQuery() MyCommand.Connection.Close() BindGrid() Case "edit" Me.dg.EditItemIndex = e.Item.ItemIndex BindGrid()
End Select End Sub Private Sub dg_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles dg.ItemDataBound Dim tmpimg As Image = CType(e.Item.FindControl("del_img"), Image) If Not (tmpimg Is Nothing) Then tmpimg.Attributes.Add("onclick", "return confirm('确认删除该条记录吗?');") End If End Sub
{
Response.Redirect("Reserving.aspx");
}
不行啊.小弟这样写也不行
先把ImageButton的CommandName属性设置为'ok'
private void Datagrid1_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
if(e.CommandName == "ok")
{
}
}
然后在DataGrid的ItemCommand事件里面用
if(e.CommandName=="")判断
private void DataGrid1_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
if(e.imagebutton=="ok")
{
Response.Redirect("Reserving.aspx");
}
}
先把ImageButton的CommandName属性设置为'ok'
private void Datagrid1_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
if(e.CommandName == "ok")
{
}
}
但是还是不行.点图没反映就一直来回在当前页面
private void DataGrid1_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
if ( e.CommandName == "ok")
{
Response.Redirect("Reserving.aspx");
} }
不行啊...555555
在 private void DataGrid1_ImageShowCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
写你要实现的功能 }
里面写就可以了
<ItemTemplate><asp:ImageButton id="OK" runat="server" ImageUrl="btn\tyxx_Deal.gif" T CommandName="OK"></asp:ImageButton>
</ItemTemplate>
</asp:TemplateColumn>
{
if ( e.CommandName == "ok")
{
Response.Redirect("Reserving.aspx");
} }
this.Datagrid1.ItemCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.Datagrid1_ItemCommand);
<ItemTemplate>
<asp:ImageButton id="ImageButton1" runat="server" Width="42px" Height="20px" CommandName="ok" CausesValidation="False"
ImageUrl="../cqlv/user/images/yd.jpg"></asp:ImageButton>
</ItemTemplate>
this.DataGrid1.ItemCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.DataGrid1_ItemCommand);
Protected Sub dg_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles dg.ItemCommand
Select Case e.CommandName
Case "del"
'Response.Write("删除操作")
Dim MyCommand As SqlCommand
Dim DeleteCmd As String = "DELETE from aa where id = @Id" MyCommand = New SqlCommand(DeleteCmd, myconn)
MyCommand.Parameters.Add(New SqlParameter("@Id", SqlDbType.Int, 4))
MyCommand.Parameters("@Id").Value = dg.DataKeys(CInt(e.Item.ItemIndex)) MyCommand.Connection.Open()
MyCommand.ExecuteNonQuery()
MyCommand.Connection.Close() BindGrid() Case "edit"
Me.dg.EditItemIndex = e.Item.ItemIndex
BindGrid()
End Select End Sub Private Sub dg_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles dg.ItemDataBound
Dim tmpimg As Image = CType(e.Item.FindControl("del_img"), Image)
If Not (tmpimg Is Nothing) Then
tmpimg.Attributes.Add("onclick", "return confirm('确认删除该条记录吗?');")
End If
End Sub
if ((ImageButton)e.Item.FindControl("ImageButton的ID")){
((ImageButton)e.Item.FindControl("ImageButton的ID")).Attributes.Add("onclick","dosome();");
}
}这是注册客户端脚本的方法
如果是用服务器端的就用ItemCommand好了,不过要先设置ImageButton 的CommandName