0

我有一个视图(Layout.cshtml),其中显示三个下拉列表和一个表格,我在 Homecontroller 的 Index() 方法中执行所有操作。我想在 Homecontroller 的另一个方法中对数据进行一些处理并显示结果在同一个视图(Layout.cshtml)中,我尝试在第二种方法中返回 View(mydata),但无法显示相同的页面,我能够做到这一点的唯一方法是存储在 tempdata 中并执行 RedirectToAction(“Index”)和从其中的 tempdata 中获取值。

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 }
        );

我是 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 回答