none
asp.net网站在vs中调试时会自动跳转到Login.aspx,为什么放入IIS后通过IP访问不会自动跳转到Login.aspx,而是直接打开default.aspx,请问怎么设置? RRS feed

  • 问题

  • 我用vs2010设计的网站,在VS中调试时,可以自动转到Login.aspx页面,但是在IIS测试时,网站自动打开default.aspx,请问这个是在哪里设置的,谢谢。

    Allen PPL

    2014年4月16日 1:28

答案

  • 首先在VS中你可以通过 在项目属性中设置 设置特定启动页面来设置。

    但是到了IIS中,可能这个设置就没有用了。

    默认路由设置就是会自动跳转到default.aspx page的。而这个设置也是正确的。

    你现在所需要做的事在跳转到任意页面的时候首先判断用户是否登录了,如果没有登录的话 则跳转到login 页面,如果登录了的话,则留在原页面。

    这个的做法就有很多了,比较好的做法是使用membership之类的权限管理工具来做

    不过如果之前没有涉及此类方法的话,最简单的就是 判断Session["UserName"]是否有值。


    My Blog
    Please use Make as Answer if my post solved your problem and use Vote As Helpful if a post was useful.

    2014年4月17日 3:25

全部回复

  • Hello world,

    我也不知道是哪里设置错了,我用了一种笨方法解决了这个问题,就是在page_load事件里直接用Response.Redirect()进行了强制跳转。

    希望大家有更好的解决办法分享一下,谢谢。


    Allen PPL

    2014年4月16日 1:49
  • 你怎么设置的自动跳转的条件?写log看看是不是不满足

    http://feiyun0112.cnblogs.com/

    2014年4月16日 2:21
    版主
  • 首先在VS中你可以通过 在项目属性中设置 设置特定启动页面来设置。

    但是到了IIS中,可能这个设置就没有用了。

    默认路由设置就是会自动跳转到default.aspx page的。而这个设置也是正确的。

    你现在所需要做的事在跳转到任意页面的时候首先判断用户是否登录了,如果没有登录的话 则跳转到login 页面,如果登录了的话,则留在原页面。

    这个的做法就有很多了,比较好的做法是使用membership之类的权限管理工具来做

    不过如果之前没有涉及此类方法的话,最简单的就是 判断Session["UserName"]是否有值。


    My Blog
    Please use Make as Answer if my post solved your problem and use Vote As Helpful if a post was useful.

    2014年4月17日 3:25
  • 打开IIS中网站的右键属性窗口,选择目录选项卡,勾选启动默认文档,然后添加Login.aspx,并且上移到第一位,确定即可。我的是IIS6.0,以上版本的具体未知不明,但是原理和操作是一样的。

    在VS2010中使用的是iis express,你设置的启动页面也只适应于当前的环境,和服务器的首页面无关

    希望帮的到你

    2014年4月17日 5:12