2016-12-01 2 views
2

私はちょうどコントローラの管理について質問があります。私は他のビューを置くことができるビューでフォルダを作成する

私はview/{copntroller}/newFolder/currentViewにフォルダを取得しようとしています。

私はmaproutingを使用しようとしていましたが、うまくいきません(全く動作しません:D)。

私はちょうどルーティングビューの位置検索を変更しない "RouteConfig.cs"

routes.MapRoute(
       name: "Admin", 
       url: "{controller}/{Folder}/{action}/{id}", 
       defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } 
      ); 

Here is a picture of current

答えて

0

にこのコードを入れてみてください。それはUrlルーティングを変更します(ユーザーが要求を送信したときにコントローラのメソッドコールを理解し、を表示しますが、どのビューでレンダリングするかはわかりません。)。

あなたのデフォルトのビューの検索場所を変更したい場合は、このようなViewEngine再定義する必要があります。

public class CustomViewEngine : RazorViewEngine //Here you inherit from current ViewEngine 
{ 
    public CustomViewEngine() 
    { 
     ViewLocationFormats = new[] 
     { 
      //That's your Views loactions 
      "~/Views/{1}/Create/{0}.cshtml", 
      "~/Views/{1}/Edit/{0}.cshtml", 
     }; 
    } 
} 

をここ{0}は - コントローラ名 - あなたのContollerメソッド名(アクション)、{1}です。

多くの異なる場所を定義することができ、ViewEngineは定義された順序で検索します。あなたの助けのために

ViewEngines.Engines.Clear(); 
ViewEngines.Engines.Add(new CustomViewEngine()); 
+0

ありがとう:あなたがすべき

最後の事はあなたのCustomViewEngineこのような方法Application_Start()global.asax.csでの登録です。 –

関連する問題