如何在datagridview上从选定行获取id
本文关键字:获取 id datagridview | 更新日期: 2023-09-27 18:02:36
我有一个疑问,
我如何从当前单元格获得特定的id ?我在datagridview中每行做一个文件加载器,当我点击fileUploader并点击Upload(上传文件)时,当我点击"上传"时,我需要从当前行获得一个特定的id。
ID当你按下"Upload"
您可以在ASP中使用命令按钮。. NET并通过ID传递到后面的代码,如CommandArgument='<%# Eval("ID") %>'
.需要注意的一点是,命令按钮需要实现OnCommand
事件,而不是OnClick
。
下面是一个简单的例子来帮助你开始。
代码:
protected void Page_Load(object sender, EventArgs e)
{
if(!Page.IsPostBack)
{
var f1 = new FileData { ID = 1 };
var f2 = new FileData { ID = 2 };
GridView1.DataSource = new List<FileData> { f1, f2 };
GridView1.DataBind();
}
}
protected void bntFileUpload_Command(object sender, CommandEventArgs e)
{
if(e.CommandName == "Upload")
{
int id = Int32.Parse(e.CommandArgument.ToString());
lblOutput.Text = String.Format("You clicked on ID - {0}", id);
}
}
。ASPX:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:BoundField DataField="ID" HeaderText="ID" />
<asp:TemplateField HeaderText="Upload">
<ItemTemplate>
<asp:Button ID="bntFileUpload" CommandArgument='<%# Eval("ID") %>' OnCommand="bntFileUpload_Command" CommandName="Upload" runat="server" Text="Upload" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:Label ID="lblOutput" runat="server"></asp:Label>