2014-12-31 49 views
1

我在aspx文件中创建的GridView作为如何从链接按钮的点击从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整型变量。请帮帮我 !!!

+0

哪里是'btndetails' –

+0

你的意思是,错误是由于btndetails ... – Nida

+0

显示.aspx为'btndetails' –

回答

1

我不知道,但尝试使用此

取而代之的是

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[] { '|' }); 
+0

它为我工作,谢谢很多先生... – Nida

+0

我欢迎你,我很高兴它为你工作.. –

相关问题