【问题标题】:ASP.NET Page Not Found Error in New Page with Code Behind新页面中的 ASP.NET 页面未找到错误,代码隐藏
【发布时间】:2016-12-08 04:14:36
【问题描述】:

我固有一个大型 ASP.NET Web 表单应用程序,并尝试将带有代码的新 test.aspx 页面添加到新创建的文件夹 - test.aspx 中。

Test.aspx:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Test.aspx.cs" Inherits="Test" %>

test.aspx.cs:

using System;

public partial class Test: System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        Response.Write("This is a test");
    }
}

在我的 web.config 文件中,我让任何人都可以访问 Test 文件夹。

  <location path="Test">
    <system.web>
      <authorization>
        <allow users="*" />
      </authorization>
    </system.web>
  </location>

当我在我的开发机器中使用https://localhost/Test/Test.aspx 访问它时。它工作正常。但是在我部署到我的服务器之后。我收到错误 404 - 执行 https://myserver/Test/Test.aspx 时找不到页面。

服务器是 Windows 2008 R2。除了这个新页面之外,所有其他现有页面都可以正常运行。

将另一个没有代码的新页面Test1.aspx放在同一个Test文件夹中。

<script language="c#" runat="server">
public void Page_Load(object sender, EventArgs e)
{
  Response.Write("hello, world!");
}
</script>

https://myserver/Test/Test1.aspx。它返回给我“你好,世界!”。

将任何图像文件放在同一文件夹中也可以访问。 https://myserver/Test/test.gif.

对于带有代码隐藏的简单新 .aspx 页面可能有什么问题?我在 Windows 事件日志或 IIS 日志中看不到任何内容。如何调试这个问题?

请帮忙

【问题讨论】:

  • 你对路径 /Test.aspx 有任何重写吗?
  • @Boney,这是一个新文件夹和新文件。我没有在任何地方放置任何重写规则。
  • 你能不能把CodeFile="Test.aspx.cs" 改成CodeBehind="Test.aspx.cs" ,看看效果如何?
  • @Win,这就是修复。我没有注意到那里有 CodeFile,而不是 CodeBehind。

标签: c# asp.net .net iis code-behind


【解决方案1】:

已从评论中移出。

CodeFile 替换为 CodeBehind 可以解决问题。

基本上,如果我们需要在部署前在 Visual Studio 中编译,我们会使用 CodeBehind

CodeFile and Code-Behind

【讨论】:

    猜你喜欢
    • 2015-06-22
    • 1970-01-01
    • 1970-01-01
    • 2014-05-29
    • 1970-01-01
    • 1970-01-01
    • 2012-08-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多