.NET MVCでは、コントローラのRouteNameという名前の命名規則に常に従っていますが、これは 'RouteName.cshtml'というビューです。.Net MVCコントローラビューと同じcshtmlを使用する別のルート名
私の質問は、別のRouteNameで同じcshtmlファイルを使用するにはどうすればいいですか?
.NET MVCでは、コントローラのRouteNameという名前の命名規則に常に従っていますが、これは 'RouteName.cshtml'というビューです。.Net MVCコントローラビューと同じcshtmlを使用する別のルート名
私の質問は、別のRouteNameで同じcshtmlファイルを使用するにはどうすればいいですか?
デフォルトのビュー()メソッドのデフォルトのアクション名と一致するが、あなたは、次の例のように、ご希望のCSHTMLにそのパスを指定するには、ビュー(String)メソッドを使用することができます。
// in action method that is *not* RouteName
return View("RouteName");
ありがとうございました。現在、私は 'View(myViewModel)'を返すので、APIを見つけることができますので、ルート名とモデルをビューに指定することができます。 – n179911
https://msdn.microsoft.com/en-us/library/system.web.mvc.controller.view(v=vs.118).aspx#M:System.Web.Mvc.Controllerのドキュメントを参照してください。 .View あなたが探しているのは、文字列引数があなたのモデルであるビュー名とオブジェクト引数である(string、object)の引数リストを取るオーバーロードのように聞こえる。 –
あなたはpartialsでCSHTMLのチャンクを再利用できます。あなたが解決しようとしている問題に応じて、これはよりよい解決策かもしれません。
質問を編集してコンテキストを追加できますか?複数のActionResultメソッドから同じcshtmlをレンダリングする必要があるのはなぜですか?あなたは何を達成しようとしていますか?
たとえば、あなたがどのようにの
public ActionResult Index()
{
var model = "view model";
// Pass view model as the second parameter
return View("About", model);
}
public ActionResult About()
{
ViewBag.Message = "Your application description page.";
// Not need pass view name because view name and action method name are same (About
return View();
}
可能な複製を[試すことができますが、2つのアクションメソッドを持っており、それらの両方がAbout.cshtml
ので使用しているAbout.cshtml という名前のビューを持っています特定のView(コントローラ名ではなく)でActionResultを返す](https://stackoverflow.com/questions/26359192/how-to-return-actionresult-with-specific-view-not-the-controller-name) – mjwills