我有以下基础控制器 -
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()
?
一个例子对我来说会更好。
答案 0 :(得分:3)
如果所有控制器都得到了这个,那就把它放在这里:
public abstract class BaseController : Controller
{
protected string BaseUrl = "URL";
public BaseController()
{
ViewBag.BaseUrl = base.BaseUrl;
}
}
如果我不想继承类来覆盖它,我甚至会把它设为私有。