私の ASP.NET MVC4 では、ViewBag.PageTitle を設定することで、コントローラーが現在のページ タイトルを設定できるようにしています。しかし
パート 1. ViewBag.PageTitle が ChildAction に設定されている場合は機能しません (_Layout.cshtml には表示されません)。ChildAction からページ タイトルを設定するにはどうすればよいですか?
パート 2. キャッシュされるとアクションが呼び出されなくなるため、キャッシュされた ChildAction にページ タイトルを設定するにはどうすればよいですか?
ありがとう!
public ActionResult Product(long productId)
{
ViewBag.PageTitle="test"; //Works
return View(productId);
}
[OutputCache(Duration=300)]
[ChildActionOnly]
public ActionResult ProductPartial(long productId)
{
Product product=AProductProvider.Instance.GetProduct(productId);
ViewBag.PageTitle=product.Name; //Doesn't work
return View(product);
}