次の署名を持つ ActionResult を持つことは可能ですか:
[HttpPost]
public ActionResult SomeAction<T>([Bind(Prefix = typeof(T).Name)] T data)
{
MapAndUpdateModel<T>(data);
return Content(Boolean.TrueString);
}
私は使用できないようtypeof(T).Name
ですか?
よろしく。
次の署名を持つ ActionResult を持つことは可能ですか:
[HttpPost]
public ActionResult SomeAction<T>([Bind(Prefix = typeof(T).Name)] T data)
{
MapAndUpdateModel<T>(data);
return Content(Boolean.TrueString);
}
私は使用できないようtypeof(T).Name
ですか?
よろしく。
属性の引数は、型またはコンパイル時の定数でなければなりません。メソッド (Name プロパティの getter) を呼び出して、属性に値を提供することはできません。
残念ながら、BindAttribute は、些細な拡張フックを使用せずに、長くハードコードされた呼び出しチェーンの MVC 内部によって消費されます。プレフィックスの推論を可能にする同様の属性を追加したい場合、これは可能ですが、パラメーター バインディングの動作を変更するためだけに ControllerActionInvoker を置き換える必要があります。