2016-01-19 43 views
0

我是azure,MVC和ASP.NET的新手。我正在用ASP.NET web角色編寫MVC Cloud服務。請幫我解決這個問題試圖在MVC應用程序中顯示自定義視圖,但它說沒有找到請求的URL

當我創建應用程序時,有默認視圖,但我想看到我的視圖,所以我將我的視圖設置爲起始頁。我也改變了的RegisterRoutes方法的值

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

     routes.MapRoute(
      name: "Default", 
      url: "{controller}/{action}/{id}", 
      defaults: new { controller = "User", action = "AddUser", id = UrlParameter.Optional } 
     ); 
} 

當我運行的應用程序,它提供了HTTP 404錯誤,因爲它找不到請求URL:/Views/User/AddUser.cshtml

enter image description here

+1

似乎您試圖直接從URL訪問視圖。在MVC中,您的請求應該針對控制器操作,而不是直接的視圖。因此,在這種情況下,請檢查當您嘗試訪問URL時會發生什麼 - .... \ User \ AddUser – Nirman

+1

您可以通過導航到返回視圖的控制器中的方法來訪問視圖。建議您轉到MVC網站並通過教程學習基礎知識。 –

回答

0

在MVC中,您不會將視圖放在URL中以使其呈現。

這是行不通的:/Views/User/AddUser.cshtml

正如你正確地把你的問題的默認路由是{controller}/{action}/{id}id是可選的。

所以假設用戶是你的控制器,也就是你有一個名爲UserController類,它看起來像:

namespace My.Controllers 
{ 
    public class UserController : Controller 
    { 

其中有一個動作就可以稱爲ADDUSER

 public ActionResult AddUser() 
     { 
      // implementation logic 
      return View(); 
     } 

然後,默認路由將在處理URL時顯示您的視圖/User/AddUser

在MVC 5,這看起來是這樣的:

example

+0

我正是你所說的。我不知道發生了什麼問題。我重新創建了該項目並完成了相同的操作,並顯示了我創建的視圖。非常感謝你 – Fairy

+0

@Fairy很高興你對它進行了排序。不要忘記標記爲[接受的答案](http://stackoverflow.com/help/accepted-answer):-) – NikolaiDante

相關問題