我想从用户会话中获取一个值并将其显示在site.master文件中。我怎么能这样做,以便每个视图页面都有这个值?我是否必须在每个控制器动作中放置ViewData [“MyValue”]?是否有一种全局方式在一个地方执行此操作,因此我不必在每个控制器操作中使用相同的代码?
答案 0 :(得分:3)
您可以编写动作过滤器属性并用它来装饰您的控制器:
public class CustomFilterAttribute : ActionFilterAttribute
{
public override void OnActionExecuted(ActionExecutedContext filterContext)
{
base.OnActionExecuted(filterContext);
filterContext.Controller.ViewData["MyValue"] = "some value";
}
}
然后用这个属性装饰控制器:
[CustomFilter]
public class MyController: Controller
{
// actions
}
这将确保在属于此控制器的所有操作上设置ViewData["MyValue"]
。
答案 1 :(得分:0)
<%=会话[“MyValue”]%>在母版页中