一个ASPX网页可以从地址接受参数,但是我不能让用户直接输入地址就能到达这个页面。就是说不能直接输入http://www.xxx.com/yyy.aspx?id=1就可以进入yyy.aspx页面并且显示正确的内容。如果用户直接输入地址,那么就转到我指定的页面去。怎么办呢?

解决方案 »

  1.   

    在yyy.aspx中的page_load中判断参数id是否有值,如果有的话就重新定向到另外一个页面不久可以了吗?if (!Page.IsPostBack) {
        if 存在参数 {
            重定向到另外一个页面。
        }
    }
      

  2.   

    你通过request.servervariables("HTTP_REFERER") 来获取上一页的来源。如果上一页来源不是本网站地址就转到指定的页面。
      

  3.   

    一般的思路是
    製作一個PageBase類,繼承Page
    在這個類中定義驗證的要求。
    比如 1.用戶登錄用Session("")
         2.用戶是否有看本頁的權限。
      

  4.   

    一个ASPX网页可以从地址接受参数,但是我不能让用户直接输入地址就能到达这个页面。
    虽然可以解决,但是不值得这么做。
    建议如果“不能让用户直接输入地址就能到达这个页面”,那就用另外的方式接收参数,不要用Get。