есть два пути
- использовать CommandArgument
ASP.NET
<dx:GridViewDataTextColumn>
<DataItemTemplate>
<asp:Button ID="btn_1" runat="server" OnClick="btn_1_Click" CommandArgument='<%# Eval("Id") %>' />
</DataItemTemplate>
</dx:GridViewDataTextColumn>
И в C #
protected void btn_1_Click(object sender, EventArgs e)
{
int Id = Convert.ToInt32((sender as Button).CommandArgument);
}
Таким образом, когда вы используете фильтр не работает нормально
Второй способ использования GridViewDataItemTemplateContainer
ASP.NET
<dx:GridViewDataTextColumn>
<DataItemTemplate>
<asp:Button ID="btn_1" runat="server" OnClick="btn_1_Click"/>
</DataItemTemplate>
</dx:GridViewDataTextColumn>
C #
protected void btn_1_Click(object sender, EventArgs e)
{
int Device_Id = Convert.ToInt32(((sender as Button).Parent as devExpress.Web.GridViewDataItemTemplateContainer).KeyValue);
}
я думаю, что второй способ лучше