我尝试部署一个简单的mvc2应用程序。但它不起作用。 我的托管服务提供商是qualityhosting.de,他们支持mvc。Asp.Net MVC2部署
我看到主页“我的MVC应用程序 - 欢迎使用ASP.NET MVC!”但在点击“关于”后点击 (例如)我得到了“无法找到该页面”。
有人可以帮我吗?
谢谢!
我尝试部署一个简单的mvc2应用程序。但它不起作用。 我的托管服务提供商是qualityhosting.de,他们支持mvc。Asp.Net MVC2部署
我看到主页“我的MVC应用程序 - 欢迎使用ASP.NET MVC!”但在点击“关于”后点击 (例如)我得到了“无法找到该页面”。
有人可以帮我吗?
谢谢!
这意味着URL重写机制不起作用。您应该了解您的提供商需要什么来启用它们:也许您需要转到控制面板并启用某些功能?
谢谢大家,但没有效果;)我试着改变路线。没有在管理面板中设置更改网址重写或类似的东西。我不知道我的提供程序正在运行的是哪个版本的IIS。我写了一个支持请求。也许他们可以帮助我。其他想法? – Denis 2010-10-22 10:25:15
这很可能是因为您的托管服务提供商未配置为将扩展少的URL作为ASP.NET页面处理。
为此,您需要检查您是否可以使用您的托管服务提供商来配置此项,或者您可以选择更改您的路线,以便在您的路线中包含.aspx(其中当然配置为使用ASP.NET)扩展名。然而,这使得“默认”多一点棘手,因为你需要为所有的“级别”显式路由,即
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = "" }
);
变为
routes.MapRoute(
"MainActionId",
"{controller}/{action}/{id}.aspx",
new { controller = "Home" }
);
routes.MapRoute(
"MainAction",
"{controller}/{action}.aspx",
new { controller = "Home" }
);
routes.MapRoute(
"Main",
"{controller}.aspx",
new { controller = "Home", action = "Index" }
);
您可能需要配置IIS使之能得到没有任何扩展的页面即添加“。*”作为扩展名,以下网站可能会帮助http://blog.stevensanderson.com/2008/07/04/options-for-deploying-aspnet-mvc-to-iis-6/ 干杯!
也许您的托管服务提供商可以帮助您,因为这不是一个真正的编程相关问题? – 2010-10-22 07:53:55
你知道你的提供者正在运行什么版本吗? – 2010-10-22 07:54:22
对不起,我不知道哪个版本在那里运行。 – Denis 2010-10-22 10:26:04