为什么我的ASP.NET应用程序仅在我尝试运行时显示目录列表?

时间:2014-01-17 23:30:25

标签: c# asp.net .net

我在Windows 7计算机上打开了Visual Studio 2012 Express for Web。我创建了一个名为“EduPortal”的ASP.NET空Web应用程序。我在项目中添加了一个Web用户控件。在此用户控件中,我在表单中放置了一个按钮,一个文本框和一个按钮。这是我使用的代码:

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="WebUserControl1.ascx.cs" Inherits="EduPortal.WebUserControl1" %>

<form runat="server">
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<br />
<asp:Button ID="Button1" runat="server" Text="Button" />
</form>

然后我构建并运行了该程序。我从IIS Express获得了一个错误页面,它指示我在IIS Express安装目录中的命令提示符下运行这两个命令:

appcmd set config /section:system.webServer/directoryBrowse /enabled:true
appcmd set config ["SITE_NAME"] /section:system.webServer/directoryBrowse /enabled:true

第一个命令运行没有错误。然而,第二个命令给出了这样的信息:

ERROR ( message:Cannot find SITE object with identifier "[SITE_NAME]". )

无论如何,我忽略了错误。我在Visual Studio中重建了我的项目。现在当我运行项目时,我得到了这个页面:

enter image description here

为什么会发生这种情况,我可以采取哪些措施来修复它?

1 个答案:

答案 0 :(得分:3)

您的应用程序中没有任何页面,因此IIS显示第一个可用项目,即目录列表,因为没有页面。您需要在项目中使用ASPX(WebForm)或HTML(直接html)。 ASCX文件是用户控件,它们是ASPX(WebForm)页面的组件,无法通过浏览器直接加载。