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

asp.net 关于页面刷新问题

我想在页面page_load 的时候刷新当前页面一次   一次就行了 有什么方法 js也行 但是js我有个刷新代码

function reurl(){
     url = location.href;                   //把当前页面的地址赋给变量 url
     var times = url.split("?");          //分切变量 url 分隔符号为 "?"
     if(times[1] != 1){                       //如果?后的值不等于1表示没有刷新
     url += "?1";                              //把变量 url 的值加入 ?1
     self.location.replace(url);        //刷新页面
     }
}
onload=reurl

但这个有缺点 刷新后 url后面会跟个   ?1   一旦用户把这个 "1"  改成其他随便什么值,页面就会死循环的刷新下去 有什么好办法  用page_load刷新 或者帮忙改改这个JS 让它成为  一旦用户输入不等于1的值 就会跳转页面

追问:不提供输入功能 比如页面加载后的 url地址是 http://***.*****.com/***.aspx?1    这个地址是页面加载刷新后的地址  如果用户把地址的上的1 改成随便其他值 那页面就会无限刷新 并给地址赋值 "?1"  用的就是 上面的那个JS 代码
答案:对的,因为你只想刷新页面一次,你可以在你现在的代码基础上改一下就行。步骤如下:
1.修改你的reurl方法:url += "?1";这句话改为url += "?1=true";
2. 添加如下js方法:function QueryString(index) {    var temp;    s = location.href;    s = s.replace("?", "?&").split("&");    re = "";    for (i = 1; i < s.length; i++) {        if (s[i].indexOf(index + "=") == 0) {            re = s[i].replace(index + "=", "");        }    }
    if (re.lastIndexOf('#') > 0) {        temp = re.substring(0, re.lastIndexOf('#'));    }    else {        temp = re;    }    return temp;}
3. 添加如下js方法:function CheckNeedReload(){     if(QueryString('1')=='true)    {         return false;
    }        return true;
}
4. 更改你的onload事件里的方法:onload=“if(CheckNeedReload()) reurl();"

有什么不明白的,可以继续讨论

页面提供用户输入功能,判断值,不等于1就跳转到其他页面?

验证可以用控件自带的属性text来做,逻辑跳转可以用Response类的若干个方法来做。

上一个:ASP多数据库多重查询怎么弄?
下一个:急需求一个ASP查找字符串标签的函数

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,