BindAttribute.Prefixアクション パラメータに適用する場合、カスタム プレフィックスを使用するか、にフォールバックするvalueことを期待します(いずれの場合も、パラメータには番号が割り当てられます)。ただし、代わりにどちらも実行しないため、次のコードは例外をスローします。DefaultModelBinderempty prefixvalue100
パラメーター ディクショナリには、メソッド '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.PrefixInt32 型のアクション メソッド パラメーターにどのように適用しますか?
ありがとうございました