我有以下GridView
<asp:GridView ID="grdImoveis" runat="server" DataSourceID="dsGrid">
<Columns>
<asp:BoundField HeaderText="Nome" DataField="NomeCompleto" />
<asp:ImageButton ID="ibtnAlterar" ImageUrl="../tema/_Internas/icons/edit.png" runat="server" OnClick="btnChange_Click" />
</Columns>
</GridView>如何在后台代码中获取该字段的值并将该值传递给我的btnChange_Click事件?
发布于 2011-10-24 23:32:22
如果你问我的想法,你会想要处理你的GridView的OnRowCommand,并在那里捕获按钮的动作。
<asp:GridView ID="grdImoveis" onrowcommand="grdImoveis_RowCommand" ...代码隐藏:
protected void grdImoveis_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "BUTTON")
{
// Check value of e.CommandArgument and do something here:
}
}通过将CommandName和CommandArgument设置为您想要传递的值,将imagebutton更改为类似这样的值。您还必须将其包装在TemplateField中:
<asp:TemplateField>
<ItemTemplate>
<asp:ImageButton CommandName="BUTTON" CommandArgument='<%#Eval("NomeCompleto") %>' ID="ibtnAlterar" ImageUrl="../tema/_Internas/icons/edit.png" runat="server" />
</ItemTemplate></asp:TemplateField>发布于 2011-10-24 23:46:06
像这样使用CommandArgument属性
CommandArgument='<%# Container.DataItemIndex %>'在TemplateField中,然后在'OnRowCommand‘事件处理程序后面的代码中使用它,如下所示:
protected void gv_RowCommand(object sender, GridViewCommandEventArgs e)
{
object dataItem = gv.Rows[int.Parse(e.CommandArgument.ToString())].DataItem;
}https://stackoverflow.com/questions/7877988
复制相似问题