質問

かいのビルにカスタムモデルのバインダー独自の結合のシナリオ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モデルのバインダー 私のブログです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top