新球求教 关于GridView Command事件的一个问题
GridView1中添加了两个ButtonField(查看与验证)代码如下:
//查看
if (e.CommandName.Equals("preview"))
{
//跳转到查看页面
JScript.JavaScriptLocationHref("ProviewPDF.aspx", this);
}
//验证
else if (e.CommandName.Equals("verify"))
{
JScript.Alert("该协议是合法、有效的!", this);
}
点【查看】则转向新的页面,点【验证】则弹出一个提示框
现在的问题是,先点【验证】,再点【查看】后,从浏览器返回本页面时,会弹出"该协议是合法、有效的!"这个提示
请问这是为什么阿?如何解决呢 --------------------编程问答-------------------- 怎么没人顶呀》? --------------------编程问答-------------------- 没见过 学习观摩来了 --------------------编程问答--------------------
晕
谢谢捧场 --------------------编程问答-------------------- 直接用<a href>不好吗 --------------------编程问答-------------------- 浏览器显示上有一点延迟,你这个时候就算把屏幕点烂了也没有用啊,它正在执行前一个提交刷新操作。 --------------------编程问答--------------------
对不起,是我没说全
点击【验证】 会弹出提示窗口,再点击【查看】则转向查看页面,从查看页面返回本页面的时候,会再次提示验证的弹出窗口 --------------------编程问答--------------------
要穿一个很长的字符串参数过去的 用<a href>不太适合 --------------------编程问答-------------------- 这个问题的原因应该是JScript.Alert("该协议是合法、有效的!", this);会在本页面生成一个脚本,当再次返回时候就相当于刷新页面了,就会触发alert那个脚本。
我就得这问题解决办法就取决于你如果“从查看页面返回本页面”如果是重定向而不是刷新就应该没问题。 --------------------编程问答--------------------
我用的是浏览器的后退按钮 这个没法改变的阿
难道这是不可解决的问题阿 --------------------编程问答-------------------- --------------------编程问答-------------------- 客户端重复提交问题!
点击浏览器的后退和刷新页面都会出现你的情况。
请参考:防止页面重复提交
上面的12楼是我的解决方法。 --------------------编程问答-------------------- 也就是说你在GridView Command事件中要判断下是否是重复提交的事件。。。。 --------------------编程问答--------------------
你链接的那个帖子我看过了
与我这个情况是不同的。。 --------------------编程问答-------------------- 你走断点 看看 走的流程 --------------------编程问答--------------------
点验证,alert("验证成功"),会写到页面中
再点查看,会跳转到别的页面,再从别的页面转回来,页面会自动提示alert("验证成功") --------------------编程问答-------------------- 点击验证,给出这个提示后,直接再接脚本删除本段js不就行了。。。 --------------------编程问答--------------------
是在哪里删除脚本呢? --------------------编程问答--------------------
说的确实有点含糊
你的页面回来 是什么意思 --------------------编程问答--------------------
<Script language='JavaScript'>
alert('该协议是合法、有效的!');</Script></form>
</body>
</html>
点了【验证】弹出窗口后,会写入JS到页面中的 --------------------编程问答--------------------
就是点了[验证]页面中会有上面的JS,然后点【查看】,页面会转向一个地址,从那个地址点浏览器的后退回到本页面,就会弹出这个JS
明白了吗 --------------------编程问答-------------------- 进来学习一下,这个问题解决不了 --------------------编程问答--------------------
额 如何说解决不了呢? --------------------编程问答-------------------- 靠诉你一个最简单的办法解决
在你要跳转的页页URL 地址后面加一个随机函数
就可以解决 --------------------编程问答--------------------
加一个随即函数是什么意思呢。。。 还请赐教阿 --------------------编程问答--------------------
//查看
if (e.CommandName.Equals("preview"))
{
Random rd = new Random();
int i = rd.Next(10);
//跳转到查看页面
JScript.JavaScriptLocationHref("ProviewPDF.aspx?i="+i, this);
}
//验证
else if (e.CommandName.Equals("verify"))
{
JScript.Alert("该协议是合法、有效的!", this);
}
VS编译有时认为你还是执行原页面任务。没有跳转. --------------------编程问答--------------------
请问您看清我的问题了不,是跳转到新的页面了,跳回来的时候会再次弹出"该协议是合法、有效的!"额
补充:.NET技术 , ASP.NET