2010-10-22 129 views
0

我嘗試部署一個簡單的mvc2應用程序。但它不起作用。 我的託管服務提供商是qualityhosting.de,他們支持mvc。Asp.Net MVC2部署

我看到主頁「我的MVC應用程序 - 歡迎使用ASP.NET MVC!」但在點擊「關於」後點擊 (例如)我得到了「無法找到該頁面」。

有人可以幫我嗎?

謝謝!

+0

也許您的託管服務提供商可以幫助您,因爲這不是一個真正的編程相關問題? – 2010-10-22 07:53:55

+0

你知道你的提供者正在運行什麼版本嗎? – 2010-10-22 07:54:22

+0

對不起,我不知道哪個版本在那裏運行。 – Denis 2010-10-22 10:26:04

回答

1

這意味着URL重寫機制不起作用。您應該瞭解您的提供商需要什麼來啓用它們:也許您需要轉到控制面板並啓用某些功能?

+1

謝謝大家,但沒有效果;)我試着改變路線。沒有在管理面板中設置更改網址重寫或類似的東西。我不知道我的提供程序正在運行的是哪個版本的IIS。我寫了一個支持請求。也許他們可以幫助我。其他想法? – Denis 2010-10-22 10:25:15

1

這很可能是因爲您的託管服務提供商未配置爲將擴展少的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" } 
); 
+0

你可能是對的。在IIS 6中需要更改一項設置,使所有請求都通過IIS管道。我不記得需要在IIS7上改變它。 – 2010-10-22 08:21:27

+0

我試圖改變路線。沒有影響:( – Denis 2010-10-22 10:26:31

+0

而你正在請求/home/about.aspx? – veggerby 2010-10-22 10:59:50