我使用IIS8在我们的网络服务器上设置了一个网站。 URL是ABC.mycompany.com的链接。当我去ABC.mycompany.com时,我收到一个未找到的错误:
>应用程序中的服务器错误。无法找到资源。
描述:HTTP 404.您正在查找的资源(或其中一个依赖项)可能已被删除,名称已更改或暂时不可用。请查看以下网址,确保拼写正确。
请求的网址:/
版本信息:Microsoft .NET Framework版本:4.0.30319; ASP.NET版本:4.0.30319.17929
如果我转到ABC.mycompany.com/Home/InstrumentList,它会显示我想要开始的正确页面。如何从这条路线开始呢?
在Visual Studio 2013中,我将Home / InstrumentList设置为我的开始操作,并且工作正常。我看了几个引用默认和索引页面的例子,但我的应用程序没有这些。此外,还有对.aspx页面的引用,但我的应用程序中没有.aspx页面,只有.cshtml视图和.cs控制器。我也看过有关添加路由的事情,但是我不确定将它们放在global.asax.cs中(在ApplicationStart中?在它之外?在另一种方法中?只是一个人?)。我也不知道要为我的工作改变什么(将索引更改为InstrumentListing或不管它)。到目前为止,对我来说没有任何作用。
这是我尝试使用global.asax.cs尝试添加注册路由方法的尝试之一:
namespace GPC
{
public class MvcApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
WebApiConfig.Register(GlobalConfiguration.Configuration);
}
public static void RegisterRoutes(RouteCollection routes)
{
routes.MapRoute(
"Default",
"{controller}/{action}/{Filtre}",
new { controller = "Home", action = "Index", Filtre = UrlParameter.Optional });
}
}
}
以下是我使用过的一些网站,但没有任何内容对我有用:
http://weblog.west-wind.com/posts/2013/Aug/15/IIS-Default-Documents-vs-ASPNET-MVC-Routes
cannot set Default route for MVC project
http://weblogs.asp.net/imranbaloch/editing-routes-in-mvc
如果有人能告诉我如何让ABC.mycompany.com/Home/InstrumentList显示用户何时访问ABC.mycompany.com,我将不胜感激。
答案 0 :(得分:4)
我不确定,但您的RegisterRoutes
方法应该在RouteConfig
类中,默认情况下应该在MVC项目的App_Start
foulder中。 这不是我在问题中看到的位于MvcApplication
的Global.asax.cs
课程中的方法。
然后你应该只改变这样的RegisterRoutes
方法来设置不同的默认控制器动作:
public static void RegisterRoutes(RouteCollection routes)
{
routes.MapRoute(
"Default",
"{controller}/{action}/{Filtre}",
new { controller = "Home", action = "InstrumentList", Filtre = UrlParameter.Optional });
}