我有一些記錄Gridview(1記錄= 1行)。如何根據asp.net GridView中點擊的按鈕來獲取行索引?
在每一行上我都添加了一個按鈕來從我的mysql數據庫中刪除這條記錄。
每行都有相同的按鈕。
問題是我需要知道在哪一行按鈕被點擊?我需要這個得到一個行索引來獲得我在那一行的記錄的ID。
我怎樣才能以最簡單的方式做到這一點?
的GridView:
<asp:GridView ID="GridView1" runat="server"
CellPadding="6" EnableModelValidation="True" ForeColor="#333333"
GridLines="None" Caption="TWOJE WIZYTY" Font-Bold="True"
onrowcreated="GridView1_RowCreated" style="text-align: left">
<AlternatingRowStyle BackColor="#AEAEAE" />
<EditRowStyle BackColor="Blue" />
<FooterStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#868686" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="Blue" ForeColor="#333333" HorizontalAlign="Center" />
<RowStyle BackColor="#C7C7C7" ForeColor="#333333" />
<SelectedRowStyle BackColor="#FFCC66" Font-Bold="True" ForeColor="Navy" />
</asp:GridView>
按鈕被添加這樣的:
protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
{
Button b1 = new Button();
b1.Text = "usuń";
b1.OnClientClick = "return potwierdzenie()";
b1.Click+=new EventHandler(b1_Click);
TableCell cel = new TableCell();
cel.Width = Unit.Pixel(180);
if (e.Row.RowType == DataControlRowType.Header)
{
e.Row.Cells[0].Visible = false;
e.Row.Cells[1].HorizontalAlign = HorizontalAlign.Right;
e.Row.Cells[2].Text = "";
e.Row.Cells.Add(cel);
}
else
{
//HERE IS MY BUTTON ADDED! *********************
cel.Controls.Add(b1);
cel.HorizontalAlign = HorizontalAlign.Right;
e.Row.Cells[0].Visible = false;
e.Row.Cells[1].HorizontalAlign = HorizontalAlign.Right;
e.Row.Cells[2].HorizontalAlign = HorizontalAlign.Left;
e.Row.Cells.Add(cel);
}
}
您可以使用您用於GridView的標記更新問題嗎?根據您聲明按鈕的方式,解決方案可能會有所不同。 – Icarus
記錄的ID在哪裏?你使用C#還是VB.NET? –
看看[這個問題]的第一個答案(http://stackoverflow.com/questions/10795325/datagridview-selection-changed-event-and-deleting-selected-rows-from-database)得到一個想法 - 希望有所幫助。 – Chaithanya