我有一个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();
}
答案 0 :(得分:0)
如果您想要正在使用的当前控制器的ControllerBase
,您可以使用:
this.ControllerContext.Controller
。
答案 1 :(得分:0)
要传递当前控制器实例,请使用&#34;此&#34;关键字如下:
public ActionResult Index() {
this._someHelper.ReturnViewBag(this, someQuery);
return View();
}