2010-04-12 23 views
2

我在Win7上運行Visual Studio 2008 sp1,並安裝了MVC2 RTM。無法在MVC2項目中調試視圖,得到「無法找到資源」錯誤

我使用嚮導創建了一個新的MVC2項目,無法調試特定的頁面。使用webforms甚至MVC1,我可以坐在View頁面上,按下F5,然後讓VS2008中的集成Web服務器在我正在處理的頁面上啓動。建立應用程序邏輯非常方便。

當我嘗試這個現在我得到一個「無法找到資源」錯誤頁面。

我剛剛嘗試了一個新的MVC2 Web應用程序項目。以下是創建新項目後重現的步驟:

  1. 打開項目設置。在「Web」子選項卡下,將「啓動操作」設置爲「當前頁面」。保留所有其他設置。
  2. 打開的觀點向上一個(例如,賬戶/ Register.aspx)
  3. 命中F5調試該項目
  4. 注意,其顯示在瀏覽器窗口將顯示錯誤消息「資源不能找到」。

我在瀏覽器中運行這個看到的鏈接是:http://localhost:49471/Views/Account/Register.aspx

我做了一些谷歌搜索,發現與確保所有HTTP安裝了服務器片的建議。我再次檢查並確保安裝了「HTTP錯誤」和「HTTP重定向」。

如果我離開原來的項目設置,在文本框中設置爲「特定頁面」沒有任何內容,然後路由工作,我總是得到默認主頁。我希望這不是唯一的選擇。

謝謝!

回答

4

通常,ASP.NET MVC中的「資源無法找到」(這是一個HTTP 404)指示某種路由問題。

將開始操作設置爲頁面(任何頁面)可能是您遇到此問題的原因。 AFAIK,這將始終導致404,因爲MVC項目不做頁面,他們做動作。

嘗試清除開始操作 - 然後您應該看到索引操作/視圖「頁面」在運行項目時出現。接下來,如果您想在啓動時轉到特定的控制器操作,請在啓動操作中輸入[ControllerName]/[Action],而不需要.aspx頁面名稱。

+0

TKS的快速反應。我以爲我已經在我的舊MVC1項目中工作了,但上面的評論可能不是。我花了大部分時間在webforms上,並且正在開發一些MVC項目(大部分是關閉的)。 因此,當您在處理視圖時想要在瀏覽器中查看視圖時,您總是調試到主應用程序頁面,然後在瀏覽器中更改URL行(或直接導航)到您想要的頁面? – 2010-04-12 14:01:06

+0

您仍然可以使用啓動操作「跳轉」到某個操作,例如http://mysite.com/someController/someAction/someParameter 只需不包含頁面名稱即可。 – 2010-04-12 14:04:24

+0

美麗,謝謝!我可以解決這個問題。 – 2010-04-12 14:11:39

0

如果在將項目添加到項目之前複製了您正在使用的控制器,請雙擊您的名稱空間!

2

因爲我剛剛找到此鏈接尋找相同類的答案,希望這會有所幫助,因爲沒有一個真正的答案我有問題。如果它是相同的,這是什麼工作:

VS,當你去改變啓動頁面(通過右鍵單擊頁面並選擇「設置爲啓動頁面」)似乎把路徑(在MVC項目),就好像這是一個普通的舊ASPX Web應用程序。當你想要一個特定的頁面時,你希望在項目屬性中使用的路徑是web服務器之後的路徑(通常在dev'ing:http:\ localhost:####時)。所以,如果你想要你的頁面「foo.aspx」或「foo.cshtml」(假設你在「Home」下面,你會想要把Home \ foo(沒有擴展名))。

這也假定您的「虛擬路徑」設置爲「\」。

點是,你離開文件夾和擴展名。看起來像一個錯誤(又名:「正在審查的功能」)給我。由於項目類型是MVC(帶有aspx或cshtml頁面),因此項目屬性頁面應該知道如何實現此目的。考慮這個請求:)

但至少現在你可以測試/ dev的具體頁面。

HTH。

0

這可能發生的一個原因是,如果您的web項目屬性下沒有設置起始頁面。所以這樣做:

Right click on your mvc project 
Choose "Properties" 
Select the "Web" tab 
Select "Specific Page" 
Assuming you have a controller called HomeController and an action method called Index, enter "home/index" in to the text box corresponding to the "Specific Page" radio button. 

現在,如果您啓動Web應用程序,它會帶你到由HomeController中的Index操作方法呈現的視圖。

(或)

簡單地說,你也可以打開項目中的控制器之一,然後擊中F5或Ctrl + F5。

現在發生的事情是,您目前處於您的/Views/home/Index.cshtml視圖中,而您剛剛點擊F5或Ctrl + F5。在mvc項目中,無法直接打開文件w/.cshtml擴展名,因爲IIS無法理解該擴展名。控制器應該從action方法中返回一個匹配的視圖。

作爲一個側面說明還檢查,如果你有正確安裝MVC 3。如果我的回答沒有幫助,我很抱歉..

refernce code project