这是一个非常简单的问题,我只是不确定如何做到这一点。我想将一个Button或者ImageButton绑定到ASP.NET / C#中的GridView。目前,GridView有两列,并绑定到一个包含两列的DataTable。我想在GridView中添加第三列,其中包括Button。
我知道GridView有ButtonField,但我不太确定如何使用它来做我想要的事情。我想动态生成这些按钮并将它们添加到GridView。
以下是我的GridView现在的样子:
<asp:GridView
ID="GridView1"
Runat="server">
<Columns>
<asp:HyperLinkField
HeaderText="Display Name"
DataNavigateUrlFields="DISPNAME"
DataNavigateUrlFormatString="ViewItem.aspx"
DataTextField="DISPNAME">
<ItemStyle Width="70%" />
</asp:HyperLinkField>
<asp:BoundField
DataField="TypeDisp"
HeaderText="Type">
<ItemStyle Width="20%" />
</asp:BoundField>
</Columns>
</asp:GridView>
答案 0 :(得分:6)
您可以使用以下模板字段
<TemplateField>
<ItemTemplate>
<asp:ImageButton ImageUrl="image url" CommandName="SomeCommand" CommandArgument='<%# Eval("Id") %>'/>
</ItemTemplate>
</TemplateField>
然后你可以处理GridView的RowCommand事件并检查e.CommandName以查看要执行的命令,你也可以获得e.CommandArgument,这可能是我在上面代码中使用的行Id。
答案 1 :(得分:1)
如果我们正在谈论一个始终存在的按钮,你可以使用ButtonField,甚至使用TemplateField并为模板提供按钮,并将数据绑定到按钮(听起来你可能想要将数据绑定到属性)按钮?)
如果您希望在UI中动态生成按钮,请点击RowCreated事件并添加GridView按钮。你必须在每个页面加载时执行此操作; GridView将不会记住以编程方式创建的按钮。
HTH。