【问题标题】:Why displaying different page instead of set as startup page in asp.net为什么在asp.net中显示不同的页面而不是设置为启动页面
【发布时间】:2015-09-16 23:53:24
【问题描述】:

我开始在 asp.net 开发的一个新项目中工作。在此应用程序中使用的身份验证是表单身份验证,会话超时为 10 分钟。使用的 IIS 也是用于开发目的的 IIS 表达式。

问题是即使我第一次将 login.aspx 设置为启动页面,它总是首先进入 pagenotfound.aspx 页面。但在第二次尝试中,它正确显示了此页面。此外,如果我单击任何其他页面甚至 2 分钟保持系统空闲,它会再次显示 pagenotfound.aspx 页面,但在第二次尝试正确显示页面。 pagenotfound 是在用户执行任何无效请求但无法找到原因时创建的页面,因为它总是转到该页面而不是启动或请求的页面

【问题讨论】:

  • 代码是什么样的?
  • 尝试设置启动项目
  • 请将鼠标悬停在 XPages 标签上以查看其使用情况。我认为该标签不适用于这个问题。
  • 你好已经设置好启动项目了。它在同一个项目中显示不同的页面
  • HttpContext.Current.Request.Url 第一次总是显示 pagenotfound.aspx

标签: c# asp.net web


【解决方案1】:

在网页配置中添加以下代码

<system.webServer>  
<defaultDocument>
  <files>
    <clear/>
    <add value="index.aspx"/>
  </files>
</defaultDocument>
</system.webServer> 

表单验证使用下面的代码

 <system.web>
 <authentication mode="Forms">
  <forms loginUrl="~/index.aspx" defaultUrl="~/index.aspx"/>
  </authentication>
 </system.web>

【讨论】:

  • 此代码已经存在并指向 login.aspx 页面。令人惊讶的是,如果我选择 Windows 身份验证而不是表单,它运行良好,但如果表单身份验证比它显示该页面
  • 以上代码不依赖任何形式或windows认证。对于formauthentication,使用下面的代码
  • 使用了以下代码,但仍然面临问题:- 认证>
猜你喜欢
  • 2023-03-19
  • 2011-09-22
  • 1970-01-01
  • 2017-01-22
  • 1970-01-01
  • 1970-01-01
  • 2017-11-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多