BindAttribute.Prefix
アクション パラメータに適用する場合、カスタム プレフィックスを使用するか、にフォールバックするvalue
ことを期待します(いずれの場合も、パラメータには番号が割り当てられます)。ただし、代わりにどちらも実行しないため、次のコードは例外をスローします。DefaultModelBinder
empty prefix
value
100
パラメーター ディクショナリには、メソッド 'System.Web.Mvc.ActionResult Index(Int32)' の null 非許容型 'System.Int32' のパラメーター 'value' の null エントリが含まれています。
[HttpPost]
public ActionResult Index([Bind(Prefix = "originalPrefix")]int value)
{
return View();
}
public ActionResult Index()
{
return View();
}
インデックス.cshtml:
using (Html.BeginForm())
{
<input id="originalPrefix.value" name="originalPrefix.value" type="text" value="100" />
<input id="value" name="value" type="text" value="100" />
<input type="submit" value="submit" />
}
a)フォーム データをパラメーターDefaultModelBinder
にバインドできないのはなぜですか?value
b) 可能であれば、BindAttribute.Prefix
Int32 型のアクション メソッド パラメーターにどのように適用しますか?
ありがとうございました