2015-05-03 88 views
-2

我有一個包含兩列和多行的表,第一列有名稱,第二列有按鈕,當我在一個表格中時,如何獲得按鈕旁邊的名稱點擊任何按鈕。從後面的代碼獲取表格中一行的索引

名稱將從數據庫中獲取,並且按鈕將從後面的代碼生成,具體取決於我在數據庫中的名稱數量。

比方說,我有這樣的:

<asp:table runat="server" id="table1"> 
    <tr><td>Name1</td><td><asp:Button runat="server" Text="Save"/></td></tr> 
    <tr><td>Name2</td><td><asp:Button runat="server" Text="Save"/></td></tr> 
    <tr><td>Name3</td><td><asp:Button runat="server" Text="Save"/></td></tr> 
</asp:table> 

我怎麼能知道哪個名字旁邊的按鈕,當我點擊其中任何一個,我想的名字,這樣我可以把它存一個數據庫。

+0

請發佈至少10-20行代碼的代碼片段:)該行代碼是不夠的... – Odrai

+0

所以你想要的名稱按鈕或名稱在左側(第一列)按鈕? – Odrai

+0

我只想知道如何獲得表格內點擊按鈕的索引,我是新來的asp和c#。 –

回答

0

使用了類似這樣你的設計師代碼的東西:

<asp:GridView ID="GridView" runat="server" OnRowCommand="gvUsers_RowCommand" AutoGenerateColumns="True"> 
    <Columns> 
     <asp:TemplateField> 
      <ItemTemplate> 
       <asp:LinkButton ID="detail_LB" runat="server" Text="Detail" CommandName="Detail_LB" CommandArgument="<%# ((GridViewRow) Container).RowIndex %>"></asp:LinkButton> 
      </ItemTemplate> 
     </asp:TemplateField> 
    </Columns> 
</asp:GridView> 

通知的OnRowCommand,爲了LinkBut​​ton的的CommandNameCommandArgument。該參數包含行號,您單擊該按鈕的位置。

在後面的代碼:

protected async void gvUsers_RowCommand(object sender, GridViewCommandEventArgs e) 
    { 
     if (e.CommandName == "Detail_LB") 
     { 
      //index contains the row number 
      int index = Convert.ToInt32(e.CommandArgument); 
      //get text in the cell next to the button 
      string text = gvUsers.Rows[index].Cells[0].Text; 
     } 
    } 

如果希望這可以幫助您瞭解如何使用表工作。

相關問題