问:如何在action-method中提供在action-filter中实例化的对象?
背景
我在MVC网站上有很多表格(等等)。
每个都有自己的viewmodel,它继承自基类型(FormPage)。
我对这些的约定是将viewmodel类型命名为“Form”前面的action-name。所以我的ContactUs视图模型是FormContactUs:FormPage。
为所有表单设置了相同的基本viewmodel属性,并且我在action方法中调用了一个泛型实用程序函数来执行此操作。
设置viewmodel,根据action-name和命名约定选择类型,并在action-filter中设置所有表单共有的基本属性,这将使这有点干。我唯一的障碍似乎是弄清楚如何在action-method中的过滤器内实例化对象。
答案 0 :(得分:3)
问:如何在action-method中提供在action-filter中实例化的对象?
您可以将其存储在整个请求生命周期中可用的HttpContext.Items
中。话虽这么说,自定义模型绑定器似乎比动作过滤器更适合您的场景。