关于如何在 aspx.CS 中写 js 确认操作confirm的问题! 50 分,我的分不多了

tiger8000 2008-04-03 11:24:12


在 add.aspx.CS 文件中:


protected void imgbtnSubmit_Click(object sender, ImageClickEventArgs e)
{
//执行完提交操作


//我想在这里写一段 js 脚本,实现用户的确实操作:

“您是否还要继续填加新的文章”,如果用户点击 “确定”,就返回原页面(或是跳转到某一固定页面,比如:add.aspx),
如果用户点击 “取消” ,则关闭当前窗口,即 add.aspx.



Response.Write("<script>在这里实现上述功能,要如何写 js 代码呢</script>");

}


求高手帮忙!万分感谢!
...全文
729 27 打赏 收藏 转发到动态 举报
写回复
用AI写文章
27 条回复
切换为时间正序
请发表友善的回复…
发表回复
guyan033 2008-04-03
  • 打赏
  • 举报
回复
this.button1.AddArich..("onclick","return confirm('')");
tiger8000 2008-04-03
  • 打赏
  • 举报
回复

Response.Write(" <script>if (confirm('您是否还要继续填加新的文章?')) { window.location.href='http://www.baidu.com'; return false;} </script>");

以上代码放到 aspx.CS 里根本不执行啊 ?!
tiger8000 2008-04-03
  • 打赏
  • 举报
回复
以上几位高人,好像都没有仔细看我的要求啊
dropping 2008-04-03
  • 打赏
  • 举报
回复
Response.Write(" <script>if (confirm('您是否还要继续填加新的文章?')) { window.location.href='http://www.baidu.com'; return false;}</script>");
woaiyangman 2008-04-03
  • 打赏
  • 举报
回复
<script language="javascript" type="text/javascript">

function OpenConfrimWindwo()
{
var ret = confirm('提示:\r\n是否要删除当前人员?警告:删除后当前人员下的办件也将被删除!\r\n您确认要提交吗?');
if(ret)
{
<%=PostBack()%>
}
else
{
return false;
}
return;
}


</script>

<script language="javascript" type="text/javascript">
function keyDown()
{
var keycode=event.keyCode;
if(keycode==13)
{
var btt = document.getElementById("UserGridModule1_btnSearch");
btt.focus();
}
















protected void btnDel_Click(object sender, EventArgs e)
{
//string id = string.Empty;

Page.RegisterStartupScript("confrim", "<script> OpenConfrimWindwo();</script>");
if (!ValidateTrue())//如果用户点了否则退出程序 不继续执行
{
return;
}

}


private const string CALLBACK_KEY = "IsCallBackResult";
protected string PostBack() //定义POSTBACK脚本参数
{
return Page.GetPostBackEventReference(btnHiddent, CALLBACK_KEY);
}

protected void btnHiddent_ServerClick(object sender, EventArgs e)
{

string id = string.Empty;
foreach (DataGridItem item in this.dgData.Items)
{
CheckBox chk = (CheckBox)item.FindControl("chkMark");
if (chk.Checked)
{
id += item.Cells[1].Text + ",";
}
}
if (id.Length > 0)
{
id = id.Substring(0, id.Length - 1);
if (new FileFlowSystem(this.UserSessionID).DeleteUserRenYuan(id))
{

BindGrid(String.Empty, String.Empty);
}
else
{
webTools.InsertAlert(this.Page, "删除失败!");
}
}
else
{
webTools.InsertAlert(this.Page, "请选择要删除项!");
}
}


private bool ValidateTrue()
{
if (Request["__EVENTARGUMENT"].Trim().Equals(CALLBACK_KEY))
{
return true;
}
else
{
return false;
}
}

}

document.onkeydown=keyDown;
</script>

<input id="btnHiddent" visible="false" type="submit" value="submit" runat="server"
onserverclick="btnHiddent_ServerClick" />
woaiyangman 2008-04-03
  • 打赏
  • 举报
回复
protected void Page_Load(object sender, System.EventArgs e)
{
if ( !Page.IsPostBack )
{
webTools.InsertConfirmOnButtonClick(this.lbtnDeleteCode, "您确实要删除所选数据吗?", commandInputCode);
}
}



protected void lbtnDeleteCode_Click(object sender, System.EventArgs e)
{
if (commandInputCode.Value != "undefined")
{
switch ((Enum_YesOrNo)Convert.ToInt16(commandInputCode.Value))
{
case Enum_YesOrNo.Yes:
ModuleAssistCodeGrid.DeleteAssistCode();
break;
case Enum_YesOrNo.No:
return;
break;
}
}
}
tiger8000 2008-04-03
  • 打赏
  • 举报
回复
lihongdian :

我的意思就是要在 aspx.CS 中执行完所以提交操作后
再按照用户的不同需求
或是回到原页面,或是关闭窗口,

你的答案不是我说的意思。
lihongdian 2008-04-03
  • 打赏
  • 举报
回复
<asp:LinkButton ID="stopuser" runat="server" CausesValidation="False" 
CommandArgument='<%# Eval("id") %>' CommandName="Select" Text="添加文章"
onclientclick="return confirm('您是否还要继续填加新的文章?')"></asp:LinkButton>
jinjazz 2008-04-03
  • 打赏
  • 举报
回复
不好意思,我确实没有看清楚你的题目,我还以为你的想在c#中取得js语句confirm函数的返回值.
JustLovePro 2008-04-03
  • 打赏
  • 举报
回复

Response.Write("<script>if (confirm('continue...???')) {window.location = '" + Request.Url + "'} else {window.location.href='Default.aspx'}</script>");
tiger8000 2008-04-03
  • 打赏
  • 举报
回复

一个再正常不过的问题,为什么我们这里的红星 会给出那样的结论呢,实在是费解啊
tiger8000 2008-04-03
  • 打赏
  • 举报
回复


在此强烈感谢 damiaobest ,最终完美的解决了我的问题,跟大家分享一下 damiaobest 的成果。

答案1:

Page.ClientScript.RegisterStartupScript(GetType(), "", "<script>if(confirm('您要继续添加吗?'))window.open('SendLabourApplication.aspx','_self'); else {window.opener=null;window.close();}</script>");

此方法是 可以跳转到你任意指定的页面

答案2:
Page.ClientScript.RegisterStartupScript(GetType(), "", "<script>if(confirm('您要继续添加吗?')==false){window.opener=null;window.close();}</script>");

此方法是只回到本页面。



zhangjun 2008-04-03
  • 打赏
  • 举报
回复
protected void Button1_Click(object sender, EventArgs e)
{
//得到确实的值
string temp = this.HiddenField1.Value;
//确认
if (temp == "true")
{
//调转到sina
Response.Write(" <script language='javascript'>parent.location.href='http://www.sina.com.cn'; </script>");
///****************我这里不但是可以调转页面。还可以进行后台代码编写。。。
//采用隐藏控件做是最好的。当然如果只是调转可以完全在JS里写。类似楼上的说的
}
else
{
//关闭
Response.Write(" <script language='javascript'>window.close(); </script>");
}
}
lovehongyun 2008-04-03
  • 打赏
  • 举报
回复
楼主真要这样做的话可以这样:

add.aspx页面: onload中写一段js,判断一个隐藏域中的一个值(假设默认为0)

当第一次进页面的时候判断隐藏域为0就不弹出对话框,为1则弹出

那么cs页面中..你提交完数据后就把这个隐藏域的值置为1

大概是这样.比较笨的方法..

要好好控制一下状态.
wingtech520 2008-04-03
  • 打赏
  • 举报
回复
function confirmFun()
{
if (confirm('您是否还要继续填加新的文章?'))
{
window.open("http://www.baidu.com");

return true;
}
}

在page_load事件中添加btnAdd按纽的客户端事件:
abtAdd.attribute.add("onclick","confirmFun();");
lovehongyun 2008-04-03
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 jinjazz 的回复:]
js只能做js该做的事情,实际上就是操作你本地的浏览器,他没有办法干涉到服务器端代码如何运行。非要他和服务器充分交互就只能用ajax这样的方式重新对服务器发送请求
[/Quote]
zhangjun 2008-04-03
  • 打赏
  • 举报
回复
页面:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Add.aspx.cs" Inherits="MyVs2008.Add" %>

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

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
<script language="javascript" type="text/javascript">
<!--
//确认:
//HiddenFieldClientID为隐藏控件HiddenField1的客户端ID
function test(HiddenFieldClientID)
{
//确认
if(confirm("确认添加吗?"))
{
//确认后给个字符串值"true"
document.getElementById(HiddenFieldClientID).value = "true";

}
else
{
//确认后给个字符串值"false"
document.getElementById(HiddenFieldClientID).value = "false";
}
return true;

}
//-->
</script>
</head>
<body>

<form id="form1" runat="server">
<div>
<!-- 隐藏控制 -->
<asp:HiddenField ID="HiddenField1" runat="server" />
<!-- 确认 -->
<asp:Button ID="Button1" runat="server" Text="Add" onclick="Button1_Click" />
</div>
</form>
</body>
</html>


后台代码
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

namespace MyVs2008
{
public partial class Add : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//脚本注册
if (!Page.IsPostBack)
{
this.Button1.Attributes.Add("onclick","return test('"+ this.HiddenField1.ClientID +"');");
}
}

protected void Button1_Click(object sender, EventArgs e)
{
//得到确实的值
string temp = this.HiddenField1.Value;
//确认
if (temp == "true")
{
//调转到sina
Response.Write("<script language='javascript'>parent.location.href='http://www.sina.com.cn';</script>");
}
else
{
//关闭
Response.Write("<script language='javascript'>window.close();</script>");
}
}
}
}
tyzs2001 2008-04-03
  • 打赏
  • 举报
回复
继续关注中...
tiger8000 2008-04-03
  • 打赏
  • 举报
回复



protected void imgbtnSubmit_Click(object sender, ImageClickEventArgs e)
{
//执行完提交操作


//我想在这里写一段 js 脚本,实现用户的确实操作:

Response.Write("<script>window.alert('此信息成功发送!');window.opener=null;window.close();</script>");

}

以上代码执行正确,但是以上代码实现的是当执行完提交后,弹出一个对话框“此信息成功发送”,然后,点击,确定后,关闭此窗口,以上代码执行一切正常。

-------------------

我现在想实想的就是:也是弹出一个确认框,不过,这个确认框需求变了一下:

改为“您是否还要继续填加新的文章”,如果用户点击 “确定”,就返回原页面(或是跳转到某一固定页面,比如:add.aspx),
如果用户点击 “取消” ,则关闭当前窗口,即 add.aspx.


--------------

我感觉我想实想的功能和要求是很正常的,在 .CS 文件代码中弹出 js 的对话框也是很正常的,而且我贴出的代码已经实现了,只不过,我现在的要求变化一下,为什么

jinjazz 这个两个红星的大侠说出

"js只能做js该做的事情,实际上就是操作你本地的浏览器,他没有办法干涉到服务器端代码如何运行。非要他和服务器充分交互就只能用ajax这样的方式重新对服务器发送请求"
这样的话,我也是很不理解


damiaobest 2008-04-03
  • 打赏
  • 举报
回复
if(confirm('您要继续添加吗?'))window.open('add.aspx','_self'); else
加载更多回复(7)
├─多功能在线考试系统改进版源码OnLineExamUpdate │ │ │ │ from.gif │ │ Module01.xls │ │ Web.Config │ │ 多功能在线考试系统改进版源码.sln │ │ │ │ │ ├─App_Code │ │ ├─BusinessLogicLayer │ │ │ Course.cs │ │ │ Department.cs │ │ │ FillBlankProblem.cs │ │ │ JudgeProblem.cs │ │ │ MultiProblem.cs │ │ │ Paper.cs │ │ │ QuestionProblem.cs │ │ │ Role.cs │ │ │ Scores.cs │ │ │ SingleProblem.cs │ │ │ Users.cs │ │ │ │ │ ├─CommonComponent │ │ │ Tree.cs │ │ │ │ │ ├─DataAccessHelper │ │ │ GetSafeData.cs │ │ │ SQLString.cs │ │ │ │ │ └─DataAccessLayer │ │ DataBase.cs │ │ │ ├─Controls │ │ lefttree.ascx │ │ lefttree.ascx.cs │ │ │ ├─CSS │ │ CSS.css │ │ │ ├─DB_51aspx │ │ OnLineExam_Data.MDF │ │ OnLineExam_Log.LDF │ │ │ ├─Images │ │ Answer.GIF │ │ BtnAdd.gif │ │ BtnBack.gif │ │ BtnDelete.gif │ │ BtnDetail.gif │ │ BtnDispose.gif │ │ BtnGiant.gif │ │ BtnLogin.gif │ │ BtnQuery.gif │ │ BtnResetPassword.gif │ │ BtnSave.gif │ │ BtnUpdate.gif │ │ Confirm.GIF │ │ Delete.GIF │ │ Excel.GIF │ │ folder.gif │ │ folderopen.gif │ │ from.gif │ │ ico_Xp01.gif │ │ ico_Xp02.gif │ │ ico_Xp03.gif │ │ ico_Xp04.gif │ │ ico_Xp05.gif │ │ ico_Xp06.gif │ │ ico_Xp07.gif │ │ ico_Xp08.gif │ │ ico_Xp09.gif │ │ ico_Xp10.gif │ │ ico_Xp11.gif │ │ ico_Xp12.gif │ │ ico_Xp13.gif │ │ ico_Xp14.gif │ │ ico_Xp15.gif │ │ left_bg_02.jpg │ │ left_bg_03.jpg │ │ line.gif │ │ lineS.jpg │ │ Login.GIF │ │ loginBg.jpg │ │ logo.jpg │ │ QUERY.GIF │ │ RESET.GIF │ │ Return.GIF │ │ Save.GIF │ │ sline.gif │ │ Submit.GIF │ │ suotu1.gif │ │ suotu2.gif │ │ Update.GIF │ │

62,254

社区成员

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

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

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

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