ASP.NET:为什么我的网站提供Default.asp而不是Default.aspx

时间:2012-01-11 14:00:46

标签: asp.net

我的“hello world”ASP.NET应用程序在调试中运行良好。但是,在我发布之后,我遇到了问题:

  1. 我在哪里可以控制是否希望我的网站将Default.aspx或.asp作为默认页面提供服务?当我调试时,它调用Default.aspx没有任何问题,但在发布后,它似乎请求Default.asp

  2. 当我手动请求Default.aspx时,为什么会出现此错误? (在浏览器中)

    无法显示XML页面 无法使用XSL样式表查看XML输入。请更正错误,然后单击“刷新”按钮,或稍后重试。 名称以无效字符开头。处理资源'http://localhost/slidenet/default.aspx'时出错。第1行,......

    <%@ Page Language =“C#”AutoEventWireup =“true”CodeBehind =“Default.aspx.cs”Inherits =“WebApplication1._Default”%> - ^

  3. 如果我没有请求页面,它将调用我故意创建的Default.asp,并再次出现相同的错误: 该页无法显示 您尝试访问的页面存在问题,无法显示。


  4. 请尝试以下方法:

    单击“刷新”按钮,或稍后重试。

    打开localhost主页,然后查找指向所需信息的链接。 HTTP 500.100 - 内部服务器错误 - ASP错误 互联网信息服务


    技术信息(支持人员)

    错误类型: Active Server Pages,ASP 0221(0x80004005) 指定的'Page Language =“C#”AutoEventWireup =“true”CodeBehind =“Default.aspx.cs”Inherits =“WebApplication1.Default”'选项未知或无效。 /slidenet/Default.asp,第1行

    浏览器类型: Mozilla / 4.0(兼容; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; InfoPath.2; .NET CLR 3.0.04506.30; .NET CLR 3.0.04506.648; .NET CLR 3.5。 21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C; .NET4.0E)

    页: GET /slidenet/Default.asp

    时间: 2012年1月11日,14:00:02

    更多信息: Microsoft支持

4 个答案:

答案 0 :(得分:2)

可能是因为IIS没有正确注册aspx引擎。 aspx的处理程序不存在。

尝试从命令行运行aspnet_regiis -i (MSDN link)。它需要从您正在安装的.Net框架版本的目录运行,即C:\ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727

我已经看到在.Net框架之后安装IIS时会发生这种情况,因此它没有机会注册

默认页面是IIS中网站的设置,如其他答案中所述。

答案 1 :(得分:1)

默认文档的顺序很重要,默认文档列表顶部的文档优先于列表中较低文档的文档。请参阅下面的屏幕截图(IIS 7):IIS将提供Default.asp(如果存在),即使存在default.aspx也是如此。这只是因为列表中的default.asp更高。

enter image description here

使用上移选项使default.aspx成为Default.asp的默认值。

在带有IIS 6的Windows XP上:

enter image description here

如果你想在web.config中这样做,你可以在添加default.aspx之前先清除defaultDocuments设置:

<defaultDocument>
  <files>
    <clear />
    <add value="Default.aspx" />
  </files>
</defaultDocument>

或仅删除default.asp:

<defaultDocument>
  <files>
    <remove value="default.asp" />
    <add value="default.aspx" />
  </files>
</defaultDocument>

答案 2 :(得分:0)

如果您使用visual studio&#34;虚拟&#34;您必须在default.aspx上右键单击网络服务器并选择&#34;设置为起始页面&#34;在解决方案资源管理器标签中。 如果您在IIS环境中运行它,则必须从IIS中的“属性”对话框中选择正确的起始页。 我还建议您对项目进行干净的重建(Build-&gt; Clean [projectname])

答案 3 :(得分:-1)

将此代码添加到您的web.config

   <defaultDocument>
    <files>
      <add value="Default.aspx" />
    </files>
  </defaultDocument>

您还可以检查IIS设置下的默认文档