2014-07-03 39 views
0

這是我的路由是怎麼樣子: 公共類RouteConfig { 公共靜態無效的RegisterRoutes(RouteCollection路線) { routes.IgnoreRoute( 「{}資源個.axd/{*} PATHINFO」);mvc 4 - 我如何設置路由設置是正確的,而不需要在瀏覽器中修復它?

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

我的控制器名稱是「defaultPageController」,我的視圖名稱是「defaultPage」。

但是當我lounch的頁面,這是網址獲得:

http://localhost:47983/Views/DefaultPage/DefaultPage.cshtml 

,然後我需要刪除「/視圖/」,並從該URL「.cshtml」,然後它工作正常。

爲什麼會發生這種情況?

我該如何改變它?

TNX

+0

controllername:defaultPageController小寫,並且在你的路由中你有{controller =「DefaultPage」的高大寫字母嘗試改變這個.... – Izekid

+0

它的寫錯誤,它們都以大寫字母D開頭。 – user3370768

回答

1

這是MVC(模型視圖控制器)的東西它將會被自動查找您的視圖文件夾作爲您的指示它尋找與名稱默認視圖的文件夾中。但是,如果你不想使用它,你當然可以改變路線。

using System.Web.Mvc; 
using System.Web.Routing; 
namespace MvcApplication1 
{ 
    public class YourApplication : System.Web.YourApplication 
    { 
     public static void RegisterRoutes(RouteCollection routes) 
     { 
      routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 
      routes.MapRoute(
       "YourName",           // Route name 
       "Folder/{entryDate}",       // URL with parameters 
       new { controller = "Archive", action = "Entry" } // Parameter defaults 
      ); 
      routes.MapRoute(
       "Default",            // Route name 
       "{controller}/{action}/{id}",       // URL with parameters 
       new { controller = "Home", action = "Index", id = "" } // Parameter defaults 
      ); 
     } 
     protected void Application_Start() 
     { 
      RegisterRoutes(RouteTable.Routes); 
     } 
    } 
} 

記得把默認路由藏漢但您的自定義路線下...

要記住,改變你的控制器藏漢

+0

那麼我是什麼需要改變才能得到一個乾淨的網址? – user3370768

0

感謝您的回答,我發現我做錯了什麼。

問題是我將視圖頁面設置爲啓動頁面,然後項目只是試圖跳過控制器。

我只需右鍵點擊該項目,然後屬性,然後「網絡」,我決定默認的網址和路線,我想開始。

相關問題