当前位置:编程学习 > C#/ASP.NET >>

新球求教 关于GridView Command事件的一个问题

GridView1中添加了两个ButtonField(查看与验证)
代码如下:

        //查看
        if (e.CommandName.Equals("preview"))
        {
            //跳转到查看页面
            JScript.JavaScriptLocationHref("ProviewPDF.aspx", this);   
        }
        //验证
        else if (e.CommandName.Equals("verify"))
        {
            JScript.Alert("该协议是合法、有效的!", this);
        }

点【查看】则转向新的页面,点【验证】则弹出一个提示框
现在的问题是,先点【验证】,再点【查看】后,从浏览器返回本页面时,会弹出"该协议是合法、有效的!"这个提示
请问这是为什么阿?如何解决呢 --------------------编程问答-------------------- 怎么没人顶呀》? --------------------编程问答-------------------- 没见过 学习观摩来了 --------------------编程问答--------------------
引用 2 楼 terminator_lzq 的回复:
没见过 学习观摩来了

晕 
谢谢捧场 --------------------编程问答-------------------- 直接用<a href>不好吗 --------------------编程问答-------------------- 浏览器显示上有一点延迟,你这个时候就算把屏幕点烂了也没有用啊,它正在执行前一个提交刷新操作。 --------------------编程问答--------------------
引用 5 楼 sp1234 的回复:
浏览器显示上有一点延迟,你这个时候就算把屏幕点烂了也没有用啊,它正在执行前一个提交刷新操作。

对不起,是我没说全
点击【验证】 会弹出提示窗口,再点击【查看】则转向查看页面,从查看页面返回本页面的时候,会再次提示验证的弹出窗口 --------------------编程问答--------------------
引用 4 楼 liuchaolin 的回复:
直接用<a href>不好吗

要穿一个很长的字符串参数过去的 用<a href>不太适合 --------------------编程问答-------------------- 这个问题的原因应该是JScript.Alert("该协议是合法、有效的!", this);会在本页面生成一个脚本,当再次返回时候就相当于刷新页面了,就会触发alert那个脚本。
我就得这问题解决办法就取决于你如果“从查看页面返回本页面”如果是重定向而不是刷新就应该没问题。 --------------------编程问答--------------------
引用 8 楼 mimangshamo 的回复:
这个问题的原因应该是JScript.Alert("该协议是合法、有效的!", this);会在本页面生成一个脚本,当再次返回时候就相当于刷新页面了,就会触发alert那个脚本。
我就得这问题解决办法就取决于你如果“从查看页面返回本页面”如果是重定向而不是刷新就应该没问题。

我用的是浏览器的后退按钮 这个没法改变的阿
难道这是不可解决的问题阿 --------------------编程问答-------------------- --------------------编程问答-------------------- 客户端重复提交问题!

点击浏览器的后退和刷新页面都会出现你的情况。

请参考:防止页面重复提交

上面的12楼是我的解决方法。 --------------------编程问答-------------------- 也就是说你在GridView Command事件中要判断下是否是重复提交的事件。。。。 --------------------编程问答--------------------
引用 12 楼 yanlele424 的回复:
也就是说你在GridView Command事件中要判断下是否是重复提交的事件。。。。

你链接的那个帖子我看过了 
与我这个情况是不同的。。 --------------------编程问答-------------------- 你走断点 看看 走的流程 --------------------编程问答--------------------
引用 14 楼 fengyarongaa 的回复:
你走断点 看看 走的流程

点验证,alert("验证成功"),会写到页面中
再点查看,会跳转到别的页面,再从别的页面转回来,页面会自动提示alert("验证成功") --------------------编程问答-------------------- 点击验证,给出这个提示后,直接再接脚本删除本段js不就行了。。。 --------------------编程问答--------------------
引用 16 楼 personball 的回复:
点击验证,给出这个提示后,直接再接脚本删除本段js不就行了。。。

是在哪里删除脚本呢? --------------------编程问答--------------------
引用 16 楼 personball 的回复:
点击验证,给出这个提示后,直接再接脚本删除本段js不就行了。。。

说的确实有点含糊
你的页面回来 是什么意思  --------------------编程问答--------------------

<Script language='JavaScript'>
                    alert('该协议是合法、有效的!');</Script></form>
</body>
</html>

点了【验证】弹出窗口后,会写入JS到页面中的 --------------------编程问答--------------------
引用 18 楼 fengyarongaa 的回复:
引用 16 楼 personball 的回复:

点击验证,给出这个提示后,直接再接脚本删除本段js不就行了。。。

说的确实有点含糊
你的页面回来 是什么意思

就是点了[验证]页面中会有上面的JS,然后点【查看】,页面会转向一个地址,从那个地址点浏览器的后退回到本页面,就会弹出这个JS
明白了吗 --------------------编程问答-------------------- 进来学习一下,这个问题解决不了 --------------------编程问答--------------------
引用 21 楼 chenyingshu880603 的回复:
进来学习一下,这个问题解决不了

额 如何说解决不了呢? --------------------编程问答-------------------- 靠诉你一个最简单的办法解决


在你要跳转的页页URL   地址后面加一个随机函数  

就可以解决 --------------------编程问答--------------------
引用 23 楼 cefriend 的回复:
靠诉你一个最简单的办法解决


在你要跳转的页页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编译有时认为你还是执行原页面任务。没有跳转. --------------------编程问答--------------------
引用 25 楼 fyxq14hao 的回复:
C# code

        //查看
        if (e.CommandName.Equals("preview"))
        {
            Random rd = new Random();
            int i = rd.Next(10); 
            //跳转到查看页面
            JScript.JavaScr……

请问您看清我的问题了不,是跳转到新的页面了,跳回来的时候会再次弹出"该协议是合法、有效的!"额
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,