php 弹出确定框判断返回值,ASP.NET 后台程序判断是否弹出确认提示框,取返回值继续操作...

你的位置:

问答吧

-> .NET

-> 问题详情

ASP.NET 后台程序判断是否弹出确认提示框,取返回值继续操作

[code=C#][/code]

protected void btnLoad_Click(object sender, EventArgs e)

{

string msg = "检测第" + student1.Key.ToString() + "行数据已存在,是否覆盖?'";

if (sId > 0)

{

RegisterStartupScript("hello", "");

if ("确认覆盖")

{

UpdateStudentMethod(cmd, s, sId);

}

else

{

InsertStudentMethod(cmd, s);

}

}

else

{

InsertStudentMethod(cmd, s);

}

}

作者: linanjina

发布时间: 2010-09-30

页面加载时将 student1.Key的值存入前台隐藏域

按钮点击前:

OnClientClick="return doConfirm()"

function doConfirm()

{

var msg = "检测第" + document.getElementById("Hidden1").value+ "行数据已存在,是否覆盖?'";

return window.confirm(msg);

}

作者: q107770540

发布时间: 2010-09-30

服务器 于 客户端 不交互, 服务器是没有办法知道 客户端脚本的操作。

当 客户端操作,弹出对话框时,可以用ajax 发送信息去 服务器端。

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

其实 就是客户端 js弹出 对话框, 根据点击按钮的 不同,用ajax发送不同的数据去 服务器,让服务器判断处理 。

作者: gongsun

发布时间: 2010-09-30

我不是想让他一开始点击就执行弹出对话框,是在foreach里面判断是否存在相同数据,若存在就弹出提示框并且获取用户是否选择了确认按钮,确认则修改,否则跳过,我上面的代码多写了一个else....

作者: linanjina

发布时间: 2010-09-30

引用 2 楼 gongsun 的回复:

服务器 于 客户端 不交互, 服务器是没有办法知道 客户端脚本的操作。

当 客户端操作,弹出对话框时,可以用ajax 发送信息去 服务器端。

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

其实 就是客户端 js弹出 对话框, 根据点击按钮的 不同,用ajax发送不同的数据去 服务器,让服务器判断处理 。

嗯,可以使用该思路,或者你自己定做个页面用于显示确认否与的信息,也可以弄个div来显示然后再根据点击了哪个按钮来分别执行不同的操作

作者: myhope88

发布时间: 2010-09-30

下面是我前几天在另一贴里回复时做的小例子,楼主直接贴到vs2008里就行了

前台:

function MyConfirm() {

if (confirm("确定要继续吗?") == true) {

document.getElementById("hidden1").value = "1";

}

else {

document.getElementById("hidden1").value = "0";

}

form1.submit();

}

οnclick="Button1_Click" />

后台:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

namespace ConfirmTest

{

public partial class _Default : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

if (this.hidden1.Value == "1")

{

this.MyGo();

}

}

protected void Button1_Click(object sender, EventArgs e)

{

//从数据库中取数据进行判断

//这里简单的改为判断页面上的textbox

if (this.TextBox1.Text == "1")

{

this.ClientScript.RegisterStartupScript(this.GetType(),"ss","");

return;

}

else if (this.TextBox1.Text == "2")

{

this.ClientScript.RegisterStartupScript(this.GetType(), "ss", "");

}

else

{

MyGo();

}

}

//需要继续执行的方法

private void MyGo()

{

this.ClientScript.RegisterStartupScript(this.GetType(), "ss", "");

}

}

}

作者: sywcf

发布时间: 2010-09-30

1楼的方法不错,如果不考虑ajax的话

作者: liffe

发布时间: 2010-09-30

RegisterStartupScript("hello", "");

可以在JS里面做变动,在页面加入一个Input hidden runat=server,然后根据confirm返回的结果来改变hidden的值,js的动作比后台要快,在if的时候可以直接根据if(hidden.value)的值来进行判断,别忘了,用完hidden后,把它给个默认值,以后其他数据再次使用

作者: Rock870210

发布时间: 2010-09-30

这个代码不能写在 btnLoad_Click 里

应该在一个页面初始化加载 或 其他函数里 事先判断是否加载, 不是 点击按钮后 再去判断是否加载客户端提示。。。。

也就是说当你看到页面的时候 页面已经把按钮上 该提示还是不提示 已经弄好了

按钮也是先执行客户端js 然后执行服务器btnLoad_Click 不可能再倒回去

作者: wyq29

发布时间: 2010-09-30

建议建议你用AJAX来做,你这样服务器端实现起来有困难

作者: chen_ya_ping

发布时间: 2010-09-30

前台弹出框时。。。。用AJAX异步提交一个参数做为判断

作者: porschev

发布时间: 2010-09-30

ClientScript.RegisterStartupScript(this.GetType(), "message", " ");

if(Hf.Value.Equals("1"))

{

}

onclientclick="return check();"

作者: wuyq11

发布时间: 2010-09-30

http://topic.csdn.net/u/20100719/11/52583363-5f64-4eea-923b-0af2e6e00e3a.html?34422

作者: wuyq11

发布时间: 2010-09-30

btnLoad_Click事件里的话已经postback到服务器端了,如果再通过RegisterStartupScript弹出确认对话框让用户确认,需要再一次postback,效率差不说,实现起来也非常麻烦。

应该在前台通过js或者ajax向服务端取值并弹出确认框,确认之后再提交。如果是.Net 3.5的话通过webservice和前台页面交互很方便。

正好最近用到这个,给你参考下

JScript code

functionsubmit() {

ExamOnline.Service.ExamService.GetUnAnsweredCount(c, f);

}functionc(r) {if(r>0||confirm("你还有"+r+"道题目没有回答,确定提交吗?"))

{

ExamOnline.Service.ExamService.SubmitCurrentExam(s, f);

}

}functions(r) {if(r!=true) f(r);

__doPostBack('ctl00_P','');//可以改成触发你要的事件}functionf(r) {

Alert('提交失败,请重试。');

}

后台需要建一个webservice

C# code

[WebService(Namespace="http://tempuri.org/")]

[WebServiceBinding(ConformsTo=WsiProfiles.BasicProfile1_1)]

[System.ComponentModel.ToolboxItem(false)]//若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。[System.Web.Script.Services.ScriptService]publicclassExamService : System.Web.Services.WebService

{

[WebMethod(EnableSession=true)]publicintGetUnAnsweredCount()

{

....

}

[WebMethod(EnableSession=true)]publicboolSubmitCurrentExam()

{

.....

}

作者: danjiewu

发布时间: 2010-09-30

写了两个ajax互调,后台一个处理方法,搞定

作者: linanjina

发布时间: 2010-09-30

前台页面定义两个js方法,里面东西都一样,只是在点击取消的时候就调用另一个方法这样子,就是循环js,后台定义一个方法接收前台两个js的参数,去判断是否覆盖,如果覆盖的话就执行更新语句,否则就不管了,继续执行下面的判断,每次发现相同的就给ajax返回一个值去判断是否为覆盖,如果是覆盖的话,就调用另一个js,那个js也是一样的,两个方法就这样调来调去。应该可行。不知听懂没?

作者: ZeroJuer

发布时间: 2010-09-30

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值