我有一个服务,我在控制器的构造函数上初始化。
我希望在实例化构造函数的同时将UserName
(这是我的模型的属性)传递给此服务。
第一个问题是,是否可以在控制器构造器上获得模型?我试过但找不到任何办法。
如果没有,那么我想到的另一种方式是拥有一个通用函数,每次执行任何视图操作时都会调用该函数,我可以访问FormCollection
并将其分配给服务。
为此,我尝试重写一些控制器的方法,如Initialize
,OnExecuting
等。但我找不到表单集合。
有没有办法实现这个目标?
修改
更多说明
private IService _service;
public HomeController()
{
_service = new ServiceImplementation(/*I want to pass UserName here*/);
}
public ActionResult Submit(MyModel model)
{
_service.UserName = model.UserName;
/* This UserName assignment part I want to centralize,
somewhere in the constructor or in any common event,
so that this will be initialized before any action method is called */
...
...
}
public ActionResult Delete(MyModel model)
{
_service.UserName = model.UserName;
...
...
}