0

Datagrid内にLinkBut​​tonがあります。Clickイベントを設定するのに問題があります。HTMLにOnClick="Remove_Click"属性を追加します。しかし、実際のイベントを書きに行くと、VBはLinkBut​​tonを見つけていません。したがって、何も起こりません。

これがそのコードです。

<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がそれを認識しない理由について何かアイデアはありますか?または、クリックイベントを実行するための別の方法はありますか?

4

1 に答える 1

0

これをチェックして、私がそれを見つけるのに正確に1秒かかりました!

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
于 2011-02-22T17:24:17.453 に答える