如何在单击链接按钮时从网格视图中的命令参数中获取值

本文关键字:视图 命令 参数 获取 网格 单击 链接 按钮 | 更新日期: 2023-09-27 18:35:48

我在aspx文件中创建了GridView作为

      <asp:GridView ID="gvAgentassigned" runat="server" AutoGenerateColumns="False" EmptyDataText="There are no agents."
                                DataKeyNames="AgentId" OnPageIndexChanging="gvAgentassigned_PageIndexChanging" OnRowCommand="gvAgentassigned_RowCommand"
                                GridLines="None" CellPadding="0" CellSpacing="0" CssClass="table">
                                <HeaderStyle />
                                <AlternatingRowStyle />
                                <Columns>
                                   <asp:BoundField DataField="AgentId" Visible="false">
                                        <HeaderStyle HorizontalAlign="left" />
                                    </asp:BoundField>
                                    ...
                                    ...
                                    ...
                                      <asp:LinkButton ID="lnkDelete" runat="server" CssClass="colorlnkbtndelete"
                                                        CommandArgument='<%# DataBinder.Eval (Container.DataItem, "AgentId") +"|"+  DataBinder.Eval (Container.DataItem, "StateId") +"|"+  DataBinder.Eval (Container.DataItem, "LineOfAuthorityId")%>'
                                                    ToolTip="Delete"><i class="icon-trash"></i></asp:LinkButton>
                                    <cc1:ConfirmButtonExtender ID="cnfbtn" TargetControlID="lnkDelete" DisplayModalPopupID="ModalPopupExtender1"
                                                runat="server">
                                            </cc1:ConfirmButtonExtender>
                                            <asp:Panel ID="pnlConfirm" runat="server" Style="display: none" CssClass="pnlCss Filterpopup Containerpopup">
                                                <Con:Confirm ID="UCConfirm" runat="server" />
                                                <div class="footer2">
                                                    <asp:Button ID="btnOk" class="btn btn-danger" runat="server" Text="Yes" OnClick="Lbtn_Delete_Click" />
                                                    <asp:Button ID="btnCancelConfirm" class="btn btn-danger" runat="server" Text="No" />
                                                </div>
                                            </asp:Panel>
                                            <cc1:ModalPopupExtender ID="ModalPopupExtender1" runat="server" TargetControlID="lnkDelete"
                                                PopupControlID="pnlConfirm" CancelControlID="btnCancelConfirm" BackgroundCssClass="modalBackground">
                                            </cc1:ModalPopupExtender>
                                        </ItemTemplate>
                                    </asp:TemplateField>
                                </Columns>
                            </asp:GridView>

在aspx中.cs我写的文件中

protected void Lbtn_Delete_Click(object sender, EventArgs e)
                              {
                              CompanyAgentBL bl;
                                LinkButton btndetails = sender as LinkButton;
                                GridViewRow gvrow = (GridViewRow)btndetails.NamingContainer;
        string[] arguments = btndetails.CommandArgument.ToString().Split(new char[] { '|' });
        int AgentId = Convert.ToInt32(arguments[0].ToString());
        int StateId = Convert.ToInt32(arguments[1].ToString());
        int LineOfAuthorityId = Convert.ToInt32(arguments[2].ToString());
        //int CompanyId = Convert.ToInt32(gvAgentassigned.DataKeys[gvrow.RowIndex].Values["CompanyId"]);

        bl = new CompanyAgentBL(0);
        DataSet ds = new DataSet();
        // Cltpager.PageIndex = 1;
        try
        {
           // bl.AgentDeleteAGentCompany(ds, CompanyId, AgentId);
            SucessMessage("Agent has been  Successfully Deleted");
        }
        catch (Exception ee)
        {
            //ErrorMessage(ee.Message);
        }
        FillAgentGrid();
        }

现在的问题是我无法从AgentId,StateId,LineOfAuthorityId整数变量中的命令参数中获取值。请帮我!!

如何在单击链接按钮时从网格视图中的命令参数中获取值

我不确定,但请尝试使用它

取而代之的是这个

string[] arguments = btndetails.CommandArgument.ToString().Split(new char[] { '|' });

试试这个

LinkButton ln =(LinkButton)gvAgentassigned.Rows[gvrow.index].FindControl("lnkDelete");
 string[] arguments = ln.CommandArgument.ToString().Split(new char[] { '|' });