0

私は 3 つのドロップダウンとテーブルを表示するビュー (Layout.cshtml) を持っています。Homecontroller の Index() メソッド内ですべてのアクションを実行します。Homecontroller の別のメソッド内でデータの処理を行い、結果を表示したい同じビュー (Layout.cshtml) で、2 番目のメソッド内で View(mydata) を返そうとしましたが、同じページを表示できません。それを実行できる唯一の方法は、tempdata に保存して RedirectToAction("Index") を実行することです。その中の tempdata から値を取得します。

2番目の方法でも同じビューにマップする方法はroute.configにありますか?私のroute.configは次のようになります

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

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

Iam は MVC が初めてで、route.config ファイルの使用方法がわかりません

4

1 に答える 1

0

ルーティングを変更する必要はありません。layout.cshtml の典型的な外観は、いくつかの html タグと @RenderBody を含むページです。ただし、必要に応じて @Html.Action() をレイアウトに追加することもできます。たとえば、 @Html.Action("DoMore" , "Home" , new {area=""}) をレイアウトに追加すると、レイアウトのレンダリングごとに Home コントローラーの DoMore アクションが実行されます。

<html>
  <body>
    <div>
      @Html.Action("DoMore" , "Home" , new {area=""})
    </div>
    <div>
       @RenderBody()
    </div>
  </body>
</html>
于 2013-04-22T18:58:29.170 に答える