2011-02-22 2 views
0

У меня есть LinkButton внутри Datagrid. У меня возникли проблемы с настройкой события Click. Я добавлю атрибут OnClick = "Remove_Click" в HTML. Но когда я отправляюсь писать фактическое событие, VB не находит LinkButton. Поэтому ничего не происходит.Настройка события Click для 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 не узнает об этом? Или есть другой способ, которым я должен был бы выполнить событие click?

ответ

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 
Смежные вопросы