2011-09-30 67 views
0

中運行CSHTML配置我都在指定帳戶MVC項目,並根據意見在這方面我有Logon.cshtml定義的區域。在web.config中,我得到了以下不能在區域

<authentication mode="Forms"> 
    <forms loginUrl="~/Areas/Account/LogOn" timeout="600" /> 
    </authentication> 

我使用我的控制器授權屬性,但是當我運行該項目,獲得「/」應用程序下面的錯誤

服務器錯誤。
無法找到該資源。
描述:HTTP 404.您正在查找的資源(或其某個依賴項)可能已被刪除,名稱已更改或暫時不可用。請檢查以下網址並確保它拼寫正確。
請求的URL:/地區/客戶/ LogOn支持

任何想法我做錯了嗎?

+0

您所在地區的名稱被命名爲「地區」? –

+0

在MVS中添加區域時,默認情況下它會添加一個名爲「Areas」的文件夾,並且您添加的所有區域將位於此「Areas」文件夾下。我創建的區域被命名爲「帳戶」。所以物理上所有文件都在「Areas \ Account」下。 –

+0

該地區被命名爲「賬戶」?這很奇怪,因爲通常已經有一個名爲'AccountController'的*控制器*。而'LogOn'聽起來像是* action *而不是* controller *。 –

回答

0

雖然文件存儲在名爲Area的文件夾中,但這並不意味着此文件的路由選擇爲/areas/account/logon

審查的賬戶文件夾中的AccountAreaRegistration.cs。該文件中定義的AreaName(最可能是Account)是該區域路由的起始部分。另外,context.MapRoute行將爲您的區域設置默認路由。

在所有的可能性,特別是如果你沒有編輯區域註冊文件,把在web.config中正確的路徑是~/account/logon