我在Datagrid中有一个LinkButton。我无法为其设置Click事件。我将在HTML中添加OnClick =“Remove_Click”属性。但是当我去写实际事件时,VB没有找到LinkButton。因此没有任何反应。
以下是代码。
<asp:DataGrid ID="StandardsDataGrid" runat="server" ShowHeader="false"
ShowFooter="false"
AutoGenerateColumns="false" CellPadding="2" CellSpacing="0"
ItemStyle-VerticalAlign="middle"
DataKeyField="Id" Width="100%" BorderColor="#000">
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn>
<ItemTemplate>
<asp:LinkButton ID="Remove" OnClick="Removed_Click" runat="server"
Text="<img src='../images/btnDelete.gif' border='0'>" />
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
有关为什么VB无法识别它的任何想法?或者我应该采取不同的方式来执行点击事件?
答案 0 :(得分:0)
检查出来,花了一秒钟才找到它!
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.listview.itemtemplate.aspx
你必须使用
<asp:LinkButton ID="EditButton" runat="Server" Text="Edit" CommandName="Edit" />
并处理网格的命令事件
这是一种常见的用法:
<asp:DataGrid id="DataGrid1"
runat="server" CssClass="grid"
AutoGenerateColumns="False">
<Columns>
<asp:EditCommandColumn
EditText="Edit" CancelText="Cancel"
UpdateText="Update" />
<asp:BoundColumn
DataField="OrderID" ReadOnly="True"
HeaderText="Order ID" />
<asp:BoundColumn
DataField="ShipName" HeaderText="Ship to"
ReadOnly="True" />
<asp:BoundColumn
DataField="ShipCountry" HeaderText="Country"
ReadOnly="True" />
<asp:TemplateColumn HeaderText="Ship Method">
<ItemTemplate>
<%#Container.DataItem("ShipVia")%>
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList runat="server" ID="Dropdownlist1"/>
</EditItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
在这里你可以如何处理它
Private Sub DataGrid1_UpdateCommand(ByVal source As Object, _
ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) _
Handles DataGrid1.UpdateCommand
End Sub