1

我在gridview中使用了模板字段删除按钮,因此当我单击gridview中的任何删除按钮以删除一行时,它将为删除行索引提供所选行的cells[0]值。我怎么能做任何人有一个想法......?

protected void GridView3_RowCommand(object sender, GridViewCommandEventArgs e)
{
        int index = Convert.ToInt32(e.CommandArgument);
        int grdid = Int32.Parse(GridView3.Rows[index].Cells[0].Text);

        IndiesProductDataContext ip = new IndiesProductDataContext();
        ip.iLinks.DeleteAllOnSubmit(ip.iLinks.Where(c => c.ProductID == grdid));
        ip.SubmitChanges();
}

我在gridview中使用行命令删除行获取索引,但它不起作用

4

3 回答 3

5

您可以设置按钮的 CommandArgument 属性

在 Aspx 中:

<asp:Button ID="btnDeleteContact" CommandName="DeleteContact" 
CommandArgument="<%# Eval("ContactID") %>" runat="server" >Delete</asp:Button>

在 GridView 的 _RowCommand 事件中:

If e.CommandName = "DeleteContact" Then
    Dim  objContacts As New CContacts

    objContacts.ContactID = e.CommandArgument
    objContacts.DomainID = Session("DomainID")
    Dim strError As String = objContacts.DelContact()

End If

希望能帮助到你

于 2013-04-04T11:14:05.423 回答
1

我找到了这个问题的完美解决方案......

    protected void GridView3_RowCommand(object sender, GridViewCommandEventArgs e)
    {

        GridViewRow gvr = (GridViewRow)(((Button)e.CommandSource).NamingContainer);
        int RowIndex = gvr.RowIndex;
        int ci = Int32.Parse(GridView3.Rows[RowIndex].Cells[1].Text);

        ProductDataContext ip = new ProductDataContext();
        ip.iLinks.DeleteAllOnSubmit(ip.iLinks.Where(c => c.PID == ci));
        ip.SubmitChanges();

    }  

此代码在我的模块中正常工作...

于 2013-04-05T04:33:47.160 回答
0

您不能这样做,但您必须使用按钮单击事件来选择 ID,然后使用该 ID 作为第二个不同的删除查询的参数。

于 2013-04-04T11:03:25.607 回答