今日、グリッド ビューから ID に基づいてレコードを削除していたときに問題が発生し、これに OnRowCommand イベントを使用しました。ここに私のグリッドビューコードがあります:
<asp:GridView ID="gridShow" runat="server" AutoGenerateColumns="False" PageSize="5"
AllowPaging="true" ShowHeader="false" OnRowCommand="s_index" OnRowDeleting="gridShow_RowDeleting">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:TextBox ID="txtID" runat="server" Text='<%#Eval("ID") %>'></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-Width="15%">
<ItemTemplate>
<asp:TextBox ID="txtDescription" runat="server" Text='<%#Eval("RollNumber") %>'></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:TextBox ID="txtFname" runat="server" Text='<%#Eval("FirstName") %>'></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-Width="15%">
<ItemTemplate>
<asp:TextBox ID="txtLname" runat="server" Text='<%#Eval("LastName") %>'></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-Width="15%">
<ItemTemplate>
<asp:TextBox ID="txtEmail" runat="server" Text='<%#Eval("Email") %>'></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-Width="15%">
<ItemTemplate>
<asp:Label ID="lblStatus" runat="server"></asp:Label>
<asp:HiddenField ID="hdnStatus" runat="server" Value='<%#Eval("UserName") %>' />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="lb" runat="server" Text="Delete" CommandName="delete" CommandArgument='<%#Eval("ID") %>'></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
これが私のC#コードです:
protected void s_index(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "delete")
{
oSRegisterBLL.BLLdelete(Convert.ToInt32(e.CommandArgument));
gview();
}
}
protected void gridShow_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
}
グリッド ビューに OnRowDeleting イベントを追加し、背後のページにそのイベントの定義を追加することで、このタスクを正常に実行しましたが、これを初めて削除したときに、「ASP.datashow_aspx」に「gridShow_RowDeleting」の定義が含まれていないことがわかりました。 'ASP.datashow_aspx' 型の最初の引数を受け入れる拡張メソッド 'gridShow_RowDeleting' が見つかりませんでした (using ディレクティブまたはアセンブリ参照がありませんか?)"
onrowcommand イベントを使用してグリッドビューに OnRowDeleting イベントを追加する理由と混乱していますか? なぜ私は混乱しているのですか?なぜ私はこのイベントで何の作業もしていないのに、なぜこのイベントを使用するのですか? onrowcommand イベントのみで作業する方法はありますか? または、グリッドビューからレコードを削除するには、onrowdeleting イベントを追加することが不可欠ですか? 私はこれのために私の心をクリアしたいですか?