如何传递ControllerBase作为参数
本文关键字:参数 ControllerBase 何传递 | 更新日期: 2023-09-27 18:04:16
我有一个asp.net mvc 4项目,我有许多行公开的代码。经过一番思考,我决定重构它。我从上下文中取出一些代码,其中有ViewBags。并发送到这个方法ControllerBase作为参数,但不知道如何传递它作为参数在我的控制器。有人能帮我吗?
public static void ReturnViewBag(ControllerBase target, string query)
{
var model = new Repository<Table>().GetRow(name);
if (model != null) {
target.ViewBag.SomeName = model.SomeColumn;
}
}
public ActionResult Index() {
this._someHelper.ReturnViewBag(/*here is some var which i dont know*/, someQuery);
return View();
}
要传递当前控制器实例,请使用"this"关键字,如下所示:
public ActionResult Index() {
this._someHelper.ReturnViewBag(this, someQuery);
return View();
}
如果你想要当前控制器的ControllerBase
,你可以使用:this.ControllerContext.Controller
.