如何使用ViewBag创建BaseController

gur*_*gui 15 asp.net asp.net-mvc

我需要执行以下操作:我有一些控制器准备好并正在运行,但现在我想创建一个BaseController.我的每一个都Controllers应该像这样继承它:

public class MySecondController : BaseController
Run Code Online (Sandbox Code Playgroud)

已经运行到目前为止.现在问题:

我想在ViewBag这个基本控制器中添加一个.这ViewBag应该可以在我的控制器中调用的每个视图中访问.

怎么实现这个?

Sat*_*pal 32

您可以在重写方法中覆盖OnActionExecuting方法,您可以将数据转换为ViewBag字典.

public abstract class BaseController : Controller
{
    protected override void OnActionExecuting(ActionExecutingContext filterContext)
    {
        ViewBag.someThing = "someThing"; //Add whatever
        base.OnActionExecuting(filterContext);
    }
}
Run Code Online (Sandbox Code Playgroud)