gpt4 book ai didi

c# - 使用 ObjectDataSource 从 Gridview 中删除记录

转载 作者:行者123 更新时间:2023-11-30 22:37:05 25 4
gpt4 key购买 nike

我有一个 gridview,它通过对象方法绑定(bind)它的行:

公共(public)数据集 GetObjects(){ 数据集 ds = new 数据集(); DataTable dt = new DataTable(); var source = 来自 CommentsList 中的 p 选择新的 { p.CommentID, p.Img, p.Name, p.Comment };

dt.Columns.Add("CommentsID");
dt.Columns.Add("Img");
dt.Columns.Add("Name");
dt.Columns.Add("Comment");

foreach (var item in source)
{



DataRow userDetailsRow=dt.NewRow();
userDetailsRow["Img"] = item.Img;
userDetailsRow["Name"] = item.Name;

DataRow commentsID = dt.NewRow();
userDetailsRow["CommentsID"] = item.CommentID;

DataRow comments = dt.NewRow();
userDetailsRow["Comment"] = item.Comment;
dt.Rows.Add(userDetailsRow);
//dt.Rows.Add(comments);
}
ds.Tables.Add(dt);
return ds;

}我的删除方法。应该收到 commentsID 以将其从数据库中删除,然后重新绑定(bind) Gridview ..但是如何呢?我是否将 CommentsID 从 gridview 传递给此方法public void RemoveComment(int CommentsID){

GridViews 两个模板:

 <Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="lblMessage" runat="server" Text='<%# Bind("Comment") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>

<asp:TemplateField>
<ItemTemplate>
<asp:Image ID="imgName" runat="server" imageUrl='<%# Bind("Img") %>'></asp:Image><br />
<asp:Hyperlink ID="hyperLink" runat="server" Text='<%# Bind("Name") %>' ></asp:Hyperlink>
</ItemTemplate>
</asp:TemplateField>
</Columns>

现在,我想删除一行,我该怎么做?我知道 DataKeyNames 存在..但是如何将 commentsID 设置为我的 dataKeyNames,以及如何删除记录?

最佳答案

您可以将Delete 方法 指定给objectDataSource,这将非常简单...例如

 <asp:ObjectDataSource ID="ods" runat="server" DeleteMethod="RemoveComment" SelectMethod="GetCityByStateID" TypeName="">
<DeleteParameters>
<asp:Parameter Name="CommentsID" Type="Int32" />
</DeleteParameters>
<SelectParameters>
</SelectParameters>
</asp:ObjectDataSource>

每当点击 Gridview 删除按钮时,这将自动触发此方法并删除记录。

关于c# - 使用 ObjectDataSource 从 Gridview 中删除记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6661234/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com