MVC3加载启动页面错误
本文关键字:错误 启动 加载 MVC3 | 更新日期: 2025-02-19 11:51:01
好的,作为一家公司,我们在web服务器上部署了我们的第一个MVC3应用程序。已设置为处理.NET
服务器使用Windows server 2008和IIS 7。
但是,当我们将浏览器指向URL时,我们会收到此错误。
目录列表被拒绝此虚拟目录不允许列出内容
当我们将其指向已知路径时,例如:
http://websitename/subfolder/subfolder/Views
我们得到了同样的错误。很明显,当ww试图直接转到Razor页面时,例如:
http://websitename/subfolder/subfolder/Views/Pages/Index.cshtml
正如您所期望的那样,它下载了.cs.html文件,因为浏览器无法读取.cs.html,所以它读取生成的.html.
如果我指向:
http://websitename/subfolder/subfolder/Views/Pages/Index.html
它什么也找不到。
它通过Visual Studio在本地主机上运行。当发布时,启动页面只是根,它通过VS运行并指向正确的位置。
我的问题是,你如何手动指向web服务器上生成的html,或者当我转到服务器上的根目录时,它找不到起始页是有原因的吗?
我已经检查了IIS,并确保将正确的内容设置为本地副本"true",我还将runAllManagedModulesForAllRequests="true"添加到了我的web.config文件中。
如有任何帮助或正确的方向,我们将不胜感激。
在MVC中,您不通过浏览器访问视图,而是访问控制器上的操作,然后它们返回一个视图。
所以你应该尝试访问
http://websitename/controller/action
控制器部分是末端带有"控制器"位的控制器的名称,例如,要访问AccountController上的登录操作,您将转到
http://websitename/Account/Login
你的行为应该在你的控制器中定义成这样
public ActionResult Login(string username, string password)
您似乎还没有安装.NET 4。请澄清您的服务器设置,如操作系统、IIS版本等?
由于某些原因,请求不会从IIS发送到ASP.Net运行时。根据您使用的IIS版本(也取决于您使用的服务器操作系统),配置会有所不同(或者根本不需要)。在MVC路由中的一些旧版本的IIS(例如Version)上,您必须向所有路由添加.aspx(或任何其他扩展)(请参阅Global.asax),然后配置IIS将所有.aspx请求路由到ASP.Net子系统。较新版本的IIS不需要所有这些。
MS的以下教程可能会有所帮助:http://www.asp.net/mvc/tutorials/older-versions/deployment/using-asp-net-mvc-with-different-versions-of-iis-cs