【发布时间】: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