Я хочу вернуть ViewBag
на мою главную страницу, но у меня нет большого опыта работы с MVC Razor, поэтому я не знаю, как решить свою проблему, вот мой код:Обратный просмотрBag на главную страницу MVC Razor
Контроллеры:
MasterController.cs
public class SharedController : Controller
{
public ActionResult SiteMaster()
{
ViewBag.PageTitle = "Show this text into my MasterPage";
return View();
}
}
и
HomeController.cs
public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
}
Просмотров:
Общие ->SiteMaster.cshtml
<html>
<head></head>
<body>
<div>@ViewBag.PageTitle</div> //Doesn't work
<div>@RenderBody()</div>
</body>
</html>
Главная ->Index.cshtml
@{
Layout = "~/Views/Shared/SiteMaster.cshtml";
}
<div>Test</div>
App_Start ->RouteConfig.cs
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 }
);
}
Вы хотите, чтобы 'ViewBag.PageTitle' каждый раз, когда вы показываете представление? –
Да, потому что у меня есть главная страница, мне нужно, чтобы 'View Bag' отображался на каждой странице, содержащей« главную страницу ». – ToTa