2013-07-04 39 views
0

我見過幾個MVC4教程,展示瞭如何訪問視圖的索引URL,但似乎無法達到我添加的新視圖。MVC4中新視圖的URL

我可以訪問我的家庭指標:

http://localhost:3214/ 

但是,如果我創建了一個新的觀點(我們稱之爲「NewView.cshtml」),我不能訪問它

http://localhost:3214/NewView.cshtml 

它會在哪裏?

頁面檢查預計的頁面是在:

http://localhost:4244/Home/NewView 

但它不存在。

UPDATE:

在Solution Explorer中的文件位於:

MyProject的/瀏覽/首頁/ NewView.cshtml

+1

哪裏有你把'NewView.cshtml'文件在您的項目?'查​​看/主頁/ NewView.cshtml'?您是否製作了行動在'Hom。'上eController'作爲它的視圖返回這個'NewView.cshtml'? – nemesv

+1

你需要添加一個動作來指向一個視圖。您應該閱讀更多關於MVC4的內容 –

回答

1

OK - 所以覺得你的意見的僅僅是HTML文件(儘管它們不是) - 即它們純粹是爲了顯示目的。但它們不像普通的HTML那樣是靜態的 - 它們有代碼。

因此,它是您需要了解的控制器和路線。

這條路線就是你在瀏覽器中輸入的內容。例如/ Home/NewView將被轉換爲HomeController,NewView的動作,如果這就是你如何配置它。默認視圖是{controller}/{action}/{id}所以試試http://localhost:4244/Home/NewView/1

現在爲了正確顯示和編碼NewView,你需要去你的HomeController並添加一個NewView動作。像:

public ActionResult NewView() 
     { 
      return View(); // This will automatically display the NewView.chtml view from the Home (or Shared) folder in your Views folder 
     } 

然後轉到您的路線(通常在Global.asax文件,並將其添加喜歡:

routes.MapRoute(
       "SomeUniqueRouteName", 
       "Home/NewView", 
       new { controller = "Home" action = "NewView" } 
      ); 

然後,你可以這樣調用它http://localhost:4244/Home/NewView沒有ID,因爲你haev指定路線它。

讓我知道如果你需要更多的幫助。

+0

我讀過的2個Web API教程展示瞭如何從視圖不以其他方式耦合到控制器(兩種情況下都是索引視圖)添加AJAX調用。出於我自己的原因,我喜歡通過AJAX(而不是ViewBag等)訪問所有內容,所以我只想使用WebAPI控制器。但它看起來像我還需要一個非Web API控制器來設置/訪問視圖。 – micahhoover

+1

他們不能有一個無法解釋的觀點。如果是這種情況,那麼這是一個簡單的HTML文件,從jquery或其他任何創建AJAX請求。如果這就是你把它作爲HTML文件而不是chtml的情況。 – Yannis