gpt4 book ai didi

c# - ASP.NET Gridview 仅在确认时删除行

转载 作者:行者123 更新时间:2023-11-30 13:17:28 25 4
gpt4 key购买 nike

我有一个 gridview 实现了 onRowDeleting 方法。我想用弹出消息提示用户确认他们是否要删除此项目。如果用户单击“确定”、“确认”或类似的按钮,那么我希望处理 onRowsDeleting 并删除记录。但是,如果用户按下“否​​”,那么我希望取消该方法并且不删除记录。

如何做到这一点?

这是我在后面的代码中的 gridviewonRowDeleting 方法。

<asp:GridView runat="server" ID="gvShowQuestionnaires" HeaderStyle-CssClass="table_header" CssClass="view" AlternatingRowStyle-CssClass="alt" AlternatingRowStyle-BackColor="#f3f4f8" AutoGenerateColumns="False" 
DataKeyNames='QuestionnaireID' OnRowDeleting="gvShowQuestionnaires_RowDeleting" OnRowEditing="gvShowQuestionnaires_RowEdit" OnSelectedIndexChanged="gvShowQuestionnaires_SelectedIndexChanged" FooterStyle-CssClass="view_table_footer" >
<Columns>
<asp:BoundField DataField="QuestionnaireID" HeaderText="ID" HeaderStyle-Width="80px" ItemStyle-CssClass="bo"></asp:BoundField>
<asp:BoundField DataField="QuestionnaireName" HeaderText="Questionnaire Name" />
<asp:ButtonField CommandName="select" ButtonType="Link" Text="view results" />
<asp:CommandField HeaderText="Options" CausesValidation="true" ShowDeleteButton="True" ShowEditButton="true" EditText="Edit">
</asp:CommandField>
</Columns>
</asp:GridView>

protected void gvShowQuestionnaires_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
int questionnaireID = (int)gvShowQuestionnaires.DataKeys[Convert.ToInt32(e.RowIndex)].Value;
GetData.DeleteQuestionnaire(questionnaireID);
gvShowQuestionnaires.DataSource = DT;
gvShowQuestionnaires.DataBind();
lblActivity.Visible = true;
lblActivity.Text = "Your questionnaire has been deleted";
}

最佳答案

您应该在客户端使用 javascript 执行此操作。

因此您可以处理 GridView 的 RowDataBound将其添加到 Delete-Button 的 OnClientClick 的事件:

protected void gvShowQuestionnaires_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
// reference the Delete LinkButton
LinkButton db = (LinkButton)e.Row.Cells[3].Controls[0];

db.OnClientClick = "return confirm('Are you certain you want to delete this questionnaire?');";
}
}

http://msdn.microsoft.com/en-us/library/bb428868.aspx

此 js 函数将返回用户是否单击了 okcancel。如果 js-eventhandler 返回 false,页面将不会回发到服务器。

关于c# - ASP.NET Gridview 仅在确认时删除行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9026884/

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