Asp.net如何获取JavaScript的返回结果

ccp5780199 2007-08-15 09:24:51
想实现一个功能,比如二次确定
第一次确定完弹出第二个确认框
两个都确认后才进行操作
这样就要求ASP.NET要获取JavaScript的Confirm的返回值
请问这个怎么实现
...全文
309 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
ccp5780199 2007-08-16
  • 打赏
  • 举报
回复
谢谢Jinglecat(晓风残月 >> 问题需简洁,错误要详细)
的回答。太感谢了
Jinglecat 2007-08-16
  • 打赏
  • 举报
回复
// Simple DEMO

<%@ Page Language="C#" %>
<%@ Import Namespace="System.Data" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack) {
LoadProductData();
}
}

protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
//
GridView grd = sender as GridView;
GridViewRow row = grd.Rows[e.RowIndex];
int productId = (int)grd.DataKeys[row.RowIndex].Value;
HiddenField fldDeleteFlag = row.FindControl("fldDeleteFlag") as HiddenField;
bool flag = (fldDeleteFlag.Value == "1");

// 以下两个删除应该考虑是否需要事务处理
// 根据 productId 删除主信息
// ...
if (flag) {
// 执行相关删除
// ...
}
// just test below
Response.Write(productId + ", " + flag);
}

void LoadProductData()
{
GridView1.DataSource = CreateSampleProductData();
GridView1.DataBind();
}

#region sample data

static DataTable CreateSampleProductData()
{
DataTable tbl = new DataTable("Products");

tbl.Columns.Add("ProductID", typeof(int));
tbl.Columns.Add("ProductName", typeof(string));
tbl.Columns.Add("UnitPrice", typeof(decimal));
tbl.Columns.Add("CategoryID", typeof(int));

tbl.Rows.Add(1, "Chai", 18, 1);
tbl.Rows.Add(2, "Chang", 19, 1);
tbl.Rows.Add(3, "Aniseed Syrup", 10, 2);
tbl.Rows.Add(4, "Chef Anton's Cajun Seasoning", 22, 2);
tbl.Rows.Add(5, "Chef Anton's Gumbo Mix", 21.35, 2);
tbl.Rows.Add(47, "Zaanse koeken", 9.5, 3);
tbl.Rows.Add(48, "Chocolade", 12.75, 3);
tbl.Rows.Add(49, "Maxilaku", 20, 3);

return tbl;
}

#endregion

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>CSDN_GridViewDoubleConfirmBeforeDelete</title>

</head>
<body>
<form id="form1" runat="server">

<h1>删除前两次确认提示</h1>
<asp:GridView ID="GridView1" DataKeyNames="ProductID" runat="server" AutoGenerateColumns="false" OnRowDeleting="GridView1_RowDeleting">
<Columns>
<asp:TemplateField HeaderText="ProductName" >
<ItemTemplate><%# Eval("ProductName") %></ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="UnitPrice" HeaderText="UnitPrice" />
<asp:TemplateField>
<ItemTemplate>
<asp:Button ID="btnDelete" CommandName="Delete" OnClientClick="if(!confirm('确定删除?')) { return false; } else { document.getElementById(this.id.replace('btnDelete', 'fldDeleteFlag')).value = (confirm('同时删除xxxxx?') ? 1 : 0); }"
Text="删除" runat="server" />
<asp:HiddenField ID="fldDeleteFlag" runat="server" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>

</form>
</body>
</html>
ccp5780199 2007-08-16
  • 打赏
  • 举报
回复
回楼上的
这样只是实现一个对话框。如何搞定第二个对话框呢?
直接嵌套在里面?
Jinglecat 2007-08-16
  • 打赏
  • 举报
回复
// 模板列
<asp:gridview ..
<columns>
<asp:templatefield>
<itemtemplate>
<asp:Button OnClientClick="if(confirm('确定删除')) return false;" ...
ccp5780199 2007-08-16
  • 打赏
  • 举报
回复
具体是这样的
在GridView里点删除
我希望能先弹出一个对话框
提示用户确认是否需要删除
然后用户点确认后还要弹出一个对话框
提示用户是否需要删除相关的信息
这时候如果用户点是
那么运行方法1
如果点否,则运行方法2
honey52570 2007-08-15
  • 打赏
  • 举报
回复
MARK
mimijidi 2007-08-15
  • 打赏
  • 举报
回复
很简单,在js里面弹出两个对话框是很简单的.
你可能还没有把问题说清楚噢
孟子E章 2007-08-15
  • 打赏
  • 举报
回复
放在隐藏表单里或者ajax方法等,这与C/S结构的程序不同。
Jinglecat 2007-08-15
  • 打赏
  • 举报
回复
考虑 AJAX

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧