try
        {
            if (Session["role"] == null)
            {
                Response.Write("<script language=javascript> alert( '登陆超时或非法请求');parent.location.href='/default.aspx'</script> ");
            }
            if (Session["role"].ToString().Trim() != "1")
            {
                Response.Write("<script language=javascript> alert( '非法请求,请重新登陆');parent.location.href='/default.aspx'</script> ");
            }
        }
        catch (Exception ex)
        {
            Response.Write("<script language=javascript> alert( '页验证发生错误,请重新登陆');parent.location.href='/default.aspx'</script> ");
        }上边的代码easy..我想在其他页面也调用这段代码..怎么办呢..我的意思是写一个全局的事件.然后每一个网页调用就可以了..怎么办呢...要不我得在每一个网页里边都加这段...修改也不方便啊..大哥们.帮帮忙啊.

解决方案 »

  1.   

    写成一个类吧,提供一个静态的方法来调用,返回bool值,或者返回不同的值,根据返回值类输出alert
      

  2.   

    这个类怎么弄啊 .
    提示没有定义session...
      

  3.   

    还不如写成一个js里的方法,每个页面都调用这个js,然后调用这个方法就行了。
      

  4.   

    你把Response.Write()写的一坨东西放在一个配置文件中去,然后提供一个统一的读这个配置的方法,在调用的时候去读它,因为做session判断的时候,每个页面有可能不同吧,所以不要把它封装在公共的地方。
      

  5.   

    Insus.NET希望你看了下面几个步骤与改写,望你有所收获:
    第一次改: try
            {
                if (Session["role"] == null)
                {
                    alert("非法请求,请重新登陆");
                }
                if (Session["role"].ToString().Trim() != "1")
                {
                    alert("非法请求,请重新登陆");
                }
            }
            catch (Exception ex)
            {
                alert("页验证发生错误,请重新登陆");
            }//下面Insus.NET已经它js写成一个方法,因为它们只有变量不一样
     private void alert(string message)
        {
            Response.Write(" <script language=javascript> alert( '" + message + "');parent.location.href='/default.aspx' </script> ");
        }第二次改,是以第一次的来改alert方法,没有变,只改try部分:try
            {
                if (Session["role"] == null || Session["role"].ToString().Trim() != "1")
                {
                    alert("非法请求,请重新登陆");
                }
            }
            catch (Exception ex)
            {
                alert("页验证发生错误,请重新登陆");
            }第二次改动,把两个if 改成一个.经过这个改,是不是可以了呢,请看
    先看你的Catch块,
    catch (Exception ex)
            {
                alert("页验证发生错误,请重新登陆");
            }这样写,好象有问题,应该写成: catch (Exception ex)
            {
                alert(ex.Message);
            }
      

  6.   

    上面的修改方法,就是叫做重构(Refactoring):
    如果想学习更多的重构方法,你可以下载下面的视频来看看(15个):http://download.csdn.net/user/insus/refactoring
      

  7.   

    写一个类继承page基类,然后重写OnLoad 其他页面.cs文件继承自这个基类,这样修改应该方便~~~