ASP.NET MVC2-カスタムモデルのバインダーの例
-
23-09-2019 - |
質問
かいのビルにカスタムモデルのバインダー独自の結合のシナリオIを取り扱う必要があり、すべての記事を見つけた古いバージョンのMVCるな関係にMVC2.って参照のDefaultModelBinderソースコードへの一般的な感じのために何か必要なので完全に複数のシナリオのアウトラインとうまく分離に特有のロジックします。
私の目標は、収集のチェックボックス/テキストボックスのペアの確認ペアを作っていきたいキーと値のペアのチェックボックスの値と関連するテキストボックスの値です。後集約このデータが一定になるように文字列の直列化の集りできますので大切に保管してくだ文字列プロパティに、希望するモデルタイプです。って、データのフォームから送信された、管理可能なフォーマットよる定のチェックボックス特定のテキストボックスでうかがわせるものとなっているコーヒーに飽きたら寿司など、全ての作品かけるという仕組みが必要になる。
なんだろうけど、日本人の一日チュートリアルで私に始まったビルのカスタムモデルのバインダー?
解決
あなたは多くのカスタムモデルバインダーに関するMVC 1以降に変更されたと思う理由
私は知りません。しかし、私はあなたがやろうとしているかを理解した場合、それはかなり簡単なはずます。
public class CustomModelBinder : DefaultModelBinder {
public override object BindModel(ControllerContext controllerContext,
ModelBindingContext bindingContext) {
NameValueCollection form = controllerContext.HttpContext.Request.Form;
//get what you need from the form collection
//creata your model
SomeModel myModel = new SomeMode();
myModel.Property = "value";
//or add some model errors if you need to
ModelStateDictionary mState = bindingContext.ModelState;
mState.Add("Property", new ModelState { });
mState.AddModelError("Property", "There's an error.");
return myModel; //return your model
}
}
そして、あなたの行動ます:
public ActionResult Contact([ModelBinder(typeof(CustomModelBinder))]SomeModel m){
//...
}
情報の種類は、あなたが探しているということでした?
他のヒント
くのいくつかの例 カスタムMVCモデルのバインダー 私のブログです。
所属していません StackOverflow