是否可以使用签名为:
的ActionResult[HttpPost]
public ActionResult SomeAction<T>([Bind(Prefix = typeof(T).Name)] T data)
{
MapAndUpdateModel<T>(data);
return Content(Boolean.TrueString);
}
我似乎无法使用typeof(T).Name
?
问候。
答案 0 :(得分:0)
属性参数必须是类型或编译时常量。您不能调用方法(Name属性getter)来为属性提供值。
不幸的是,BindAttribute被长期硬编码的调用链中的MVC内部消耗,没有简单的扩展钩子。如果你想添加一个允许推理前缀的类似属性,这是可能的,但是你只需要替换ControllerActionInvoker来改变参数绑定行为。