2012-01-12 185 views
2

我不知道爲什麼這個錯誤發生在調試項目後,即使代碼是默認的。無法找到該資源。 ASP.NET MVC3

控制器

public class HomeController : Controller 
{ 
    // 
    // GET: /Home/ 

    public ActionResult Index() 
    { 
     return View(); 
    } 

} 

查看

@{ 
    Layout = null; 
} 

<!DOCTYPE html> 

<html> 
<head> 
    <title>Index</title> 
</head> 
<body> 
    <div> 
     Hi 
    </div> 
</body> 

莫名其妙或更確切地說,調試完畢後,請求的URL總是/Views/Home/Index.cshtml但通過瀏覽器訪問主頁的罰款。 (http:// localhost:58323/home)

我用Google搜索了一下,並提示問題出在全局。但那很奇怪,我不記得做任何改變。

全球

public static void RegisterRoutes(RouteCollection routes) 
    { 
     routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 

     routes.MapRoute(
      "Default", // Route name 
      "{controller}/{action}/{id}", // URL with parameters 
      new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults 
     ); 

    } 

得到任何幫助。謝謝

回答

5

我認爲你只需要設置你的視覺工作室設置,以便視圖設置爲開始頁面。右鍵單擊該項目並轉到屬性,然後轉到Web選項卡。 「Views/Home/Index.cshtml」中選擇的「特定頁面」單選按鈕是否被設置爲值?將其更改爲使用啓動網址。我個人更喜歡不讓調試器啓動瀏覽器並使用不要打開頁面。

+0

Omg,你是一個救星!非常感謝@Matt Murphy – aHaH 2012-01-12 03:52:32

+0

嗨,我也遇到同樣的問題,但是當我改變它使用一個開始URL,然後保存我得到了一個錯誤消息「在無效指定的起始URL」 – 2012-12-04 12:40:42

4

右鍵點擊你的Web項目 - >屬性 - >網絡

檢查,你必須開始行動設置到具體頁面,在該領域沒有任何價值。

我的猜測是你的開始動作設置爲當前頁面。

0

如果文件夾結構的層次結構在Views文件夾中不正確,則甚至可能會導致此錯誤。 如果您通過右鍵單擊Views文件夾添加視圖。添加的新視圖可能錯誤地放置在文件夾層次結構中。

解決問題的方法是: 考慮一個名爲index.ascx的視圖,該視圖應該鏈接到名爲HomeController的Controller。 在Views文件夾下應該有一個文件夾名稱Home(與控制器有關),並且index.ascx應該位於Home文件夾中。

添加視圖的最佳方式是右鍵單擊公共方法旁邊的公用方法,該方法將在上下文菜單中顯示「創建視圖」選項。如果以這種方式創建視圖,則將自動創建文件夾層次結構。