我是MVC的新手,也是Stackoverflow的新手。我不使用任何数据库,但我只想在2个不同的控制器上显示标题和按摩。我想在我的Index.cshtml文件中显示HomeController.cs文件中的@ViewBag.Title
和来自@ViewBag.Massage
文件的OtherController.cs
显示。如何执行此操作以及如何将OtherController.cs
引用或附加到Index.cshtml
?请不要告诉我,我要求的是如何将样式表附加到html,但MVC无法实现。
如果真的不可能那么请告诉我如何使用_Layout.cshtml文件通过部分视图执行此操作。因为我不想在我的视图文件中写太多。
提前谢谢你!
RouteConfig.cs
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home",
action = "Index",
id = UrlParameter.Optional
}
);
HomeController.cs
public ActionResult Index()
{
ViewBag.Title = "";
return View();
}
OtherController.cs
public ActionResult Index()
{
ViewBag.Massage = "";
return View();
}
Index.cshtml
<title>@ViewBag.Title</title>
<p>@ViewBag.Massage</p>
答案 0 :(得分:2)
我不知道你是否可以,但如果你以正确的方式做到这一点,那么你将使用特定内容制作2个不同的视图,然后每个ActionResult
引用一个视图。换句话说,做到这一点的最好方法不是你尝试这样做的方式。
答案 1 :(得分:2)
索引操作方法在家庭控制器中是相同的,但在其他控制器中,您应该返回部分视图。
public ActionResult PartialIndex()
{
ViewBag.Massage = "Message from Partial View";
return PartialView();
}
部分视图
<p>@ViewBag.Massage</p>
在主视图中,您可以调用它。
<h1>@ViewBag.Title.</h1>
<h2>@{Html.RenderAction("IndexPartial");}</h2>