覆盖asp.net mvc中的View()

时间:2016-12-25 04:10:44

标签: asp.net-mvc

我有以下基础控制器 -

public abstract class BaseController : Controller
{
     protected string BaseUrl = "URL";
}

所有其他控制器继承上述基本控制器 -

public class MyController : BaseController
{       
    public ActionResult Something()
    {
        ViewBag.BaseUrl = base.BaseUrl;
        return View();
    }
}

我不想在每个控制器操作方法中编写ViewBag.BaseUrl = base.BaseUrl;。相反,我会自动将此基本URL传递给相关视图。是否有可能通过覆盖View()

一个例子对我来说会更好。

1 个答案:

答案 0 :(得分:3)

如果所有控制器都得到了这个,那就把它放在这里:

public abstract class BaseController : Controller
{
     protected string BaseUrl = "URL";
     public BaseController()
     {
         ViewBag.BaseUrl = base.BaseUrl;
     }   
}

如果我不想继承类来覆盖它,我甚至会把它设为私有。