mvc5怎么给所有action都设置几个公用的ViewBag

kiddkyd 2015-03-12 03:43:20

public ActionResult Index()
{
ViewBag.RootURL = “11111”;
ViewBag.ToolWebSite = “2222”;

return View();
}

public ActionResult Create()
{
ViewBag.RootURL = “11111”;
ViewBag.ToolWebSite = “2222”;

return View();
}



如题。。每个action都有2个ViewBag是页面会用到的,应该怎么抽离才可以让所有controller里面的所有action都内置这2个变量?
...全文
750 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
BillHu233 2015-03-13
  • 打赏
  • 举报
回复
如果你每个return view()都不需要传递对象的话,你可以在全局定义一个对象,对象的两个属性是1111,2222, 然后每个view(model)里面把这个对象传递过去就是了,如果你需要传递对象的话,你可以给传递的对象添加两个属性给他赋值成全局对象的1111,2222就好了
kiddkyd 2015-03-12
  • 打赏
  • 举报
回复
引用 2 楼 wanghui0380 的回复:
public class SomeMsgAttribute : FilterAttribute, IResultFilter
{
        public void OnResultExecuted(ResultExecutedContext filterContext)
        {
        }

        public void OnResultExecuting(ResultExecutingContext filterContext)
        {
            filterContext.Controller.ViewBag.Msg= "Hello";
        }
}
能不能用OnActionExecuting,但是OnActionExecuting里面好像没有ViewBag 能不能在Global.asax里设置全部Controller都用这个过滤器?怎么写。
insus 2015-03-12
  • 打赏
  • 举报
回复
尽量不要使用viewBag而是使用model。 http://www.cnblogs.com/insus/p/4078122.html
新猪先生 2015-03-12
  • 打赏
  • 举报
回复
可以单独设计一个BaseController 继承 Controller 然后在BaseController中添加两个属性,接下来,在每次创建控制器的时候,都继承 BaseController ,然后可以设计一些参数, 这样的话 ,后期,需要改某个参数的话 ,直接修改BaseController 中的属性值就行了
wanghui0380 2015-03-12
  • 打赏
  • 举报
回复
public class SomeMsgAttribute : FilterAttribute, IResultFilter
{
        public void OnResultExecuted(ResultExecutedContext filterContext)
        {
        }

        public void OnResultExecuting(ResultExecutingContext filterContext)
        {
            filterContext.Controller.ViewBag.Msg= "Hello";
        }
}
wanghui0380 2015-03-12
  • 打赏
  • 举报
回复
自己写个ActionFilter 在里面处理就是 当然你也可以使用其他方法注入工具,只是个人建议直接使用ActionFilter较为可靠

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧