【发布时间】:2014-09-22 15:15:20
【问题描述】:
我有一个 GridView,我在其中动态地在 gv_RowDataBound 上创建标签和按钮。
.cs
Label Tagvalue = new Label();
Tagvalue.ID = "lblTags_"+i;
//Tagvalue.CssClass = "tagBubble tagBubbleDelete";
Tagvalue.Text = tag;
Button delete = new Button();
delete.ID = "btnDelete_" + i;
delete.ToolTip = "Delete";
delete.CssClass = "tagBubbleDelete";
delete.CommandName = "Delete";
delete.CommandArgument = imageID.Text;
问题是“RowCommand”函数没有被触发。所以我无法到达 e.CommandName=="Delete"。
如何为 GridView 中的动态创建按钮触发 RowCommand 事件。
感谢任何帮助。
*********编辑
.aspx
<asp:GridView runat="server" ID="myGV" AllowSorting="false" AllowPaging="False"
PageSize="20" AutoGenerateColumns="False"
DataSourceID="LDSgv"
ondatabound="gv_DataBound"
OnRowDataBound="gv_RowDataBound"
OnRowCommand="gv_RowCommand"
>
<asp:TemplateField HeaderText="Details" HeaderStyle-CssClass="noSort"
ItemStyle-CssClass="fieldAlignCenter">
<ItemTemplate>
<div class="alignLeft marginTop5 float-l" id="Tags" runat="server" style="clear:both">
//**Here I am adding the dynamic Buttons
</div>
</ItemTemplate>
</asp:TemplateField>
</asp:GridView>
【问题讨论】:
-
Delete 可能与 inbuild 事件冲突,请将名称改为 deleterow 之类的,然后重试
-
也试过了。好像没用。
-
问题是“RowCommand”事件本身没有被调用
-
你是否在gridview中添加了rowcommand事件?
-
我已经添加了。 Gridview 中的其他按钮工作正常。问题仅适用于动态创建的按钮。