Asp.net 无法获取要触发的代码隐藏事件

Asp.net 无法获取要触发的代码隐藏事件,asp.net,vb.net,datagrid,Asp.net,Vb.net,Datagrid,我有一个asp.net数据网格,它看起来像这样。我似乎无法启动链接按钮 <asp:DataGrid ID="dgrdItem" runat="server" OnItemDataBound="dgrdItem_ItemDataBound" Width="100%" AutoGenerateColumns="False" OnSelectedIndexChanged="EditItem" > <HeaderStyle CssClass="datagridheader

我有一个asp.net数据网格,它看起来像这样。我似乎无法启动链接按钮

   <asp:DataGrid ID="dgrdItem" runat="server" OnItemDataBound="dgrdItem_ItemDataBound" Width="100%" AutoGenerateColumns="False" OnSelectedIndexChanged="EditItem" >
    <HeaderStyle CssClass="datagridheaderstyle"></HeaderStyle>
      <Columns>
        <asp:TemplateColumn ItemStyle-Width="240" HeaderText="Name">
          <ItemTemplate>
            <%#DataBinder.Eval(Container.DataItem, "Name")%></ItemTemplate>
          </asp:TemplateColumn>                
          <asp:BoundColumn DataField="Notes" HeaderText="Comments" ItemStyle-Width="180" />
             <asp:TemplateColumn HeaderText="Options">
                            <ItemTemplate>
                                <table>
                                    <tr>
                                        <span class="infobarbutton">
                                            <td id="tdEdit" runat="server">
                                                <asp:LinkButton ID="btnEdit" Text="Edit" CommandName="Select" Width="52" runat="server" />
                                            </td>
                     </span>
                </tr>
                </table>
    </asp:TemplateColumn HeaderText="Options"></asp:DataGrid>

任何关于我哪里出错的建议都会非常有用。谢谢。

您需要处理ItemCommand事件。将OnSelectedIndexChanged=“EditItem”更改为OnEditCommand=“EditItem”。或者,您可以将其从标记中删除,并添加如下所示的handles子句:

Protected Sub EditItem(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles dgrdItem.ItemCommand

    If e.CommandName = "Edit" ...

End Sub

您在EditItem子项中做什么?只需调用事件。也许我应该使用GridView。更多信息和功能。
Protected Sub EditItem(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles dgrdItem.ItemCommand

    If e.CommandName = "Edit" ...

End Sub