我有一个视图(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文件
答案 0 :(得分: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>