2012-07-24 8 views
5

私のgridviewコントロールのLinkBut​​tonから、codebehindにCustomerID値を渡そうとしています。私は解決策を試みたhereを提案したが動作しません。グリッドビューコントロールのLinkBut​​tonサーバー側のイベントにid値を渡す

私のGridViewのコードは次のとおりです。私はEditCustomerイベントでCUSTID値を取得できますか

<asp:TemplateField HeaderText="Last Name, First Name"> 
    <ItemTemplate> 
     <asp:LinkButton OnClick="EditCustomer" id="lbtnCustomerName" CommandName="CustomerName" Visible="true" runat="server" ToolTip="Click to edit customer."><%# DataBinder.Eval(Container.DataItem, "custLastName") + ", " + DataBinder.Eval(Container.DataItem, "custFirstName" + ", " + DataBinder.Eval(Container.DataItem, "custID")%></asp:LinkButton> 
    </ItemTemplate> 
</asp:TemplateField> 


protected void EditCustomer(Object sender, EventArgs e) 
{ 

} 

+0

それは単に 'sender.id'と思いませんか? –

答えて

10

Youc CommandArgumentとしてCustomerIDを渡す:

<asp:LinkButton OnClick="EditCustomer" id="lbtnCustomerName" 
    CommandArgument='<%#Eval("CustomerID")%>' 
    CommandName="CustomerName" 
    OnCommand="LinkButton_Command" 
    Visible="true" runat="server" 
    ToolTip="Click to edit customer."><%# DataBinder.Eval(Container.DataItem, "custLastName") + ", " + DataBinder.Eval(Container.DataItem, "custFirstName" + ", " + DataBinder.Eval(Container.DataItem, "custID")%> 
</asp:LinkButton> 

を今、あなたは、LinkBut​​tonコントロールのCommand eventを扱うことができます。

void LinkButton_Command(Object sender, CommandEventArgs e) 
{ 
    String CustomerID = e.CommandArgument.ToString(); 
} 
+0

おかげさまでティム。コードの背後にはどのように表示されますか? "EditCustomerのオーバーロードがデリゲート 'System.EventHandler'と一致しません" – DotNetRookie

+0

@DotNetRookie:LinkBut​​tonのCommandイベントの処理方法を示すために私の答えを編集しました。 –

+0

ありがとう@Tim – DotNetRookie

関連する問題