- どこから始めればよいですか?この動作はすぐに使用できますか?それとも SearchBagBinder を実装する必要がありますか? 私は IModelBinder をざっと見てみましたが、それについて頭を悩ませることはできず、DefaultModelBinder ソースは私を賢くしません。
箱から出してすぐです。UpdateModel または ModelBinder を使用して、目的を達成できます。
- この ModelBindingContext とは何ですか?
これには、リクエストをモデルにバインドするために必要なすべての情報が含まれています。ControllerContext および ActionFilterContext と同様に、これは基本的に ModelBinder の状態であり、ModelBinder が何をすべきかについて ASP.NET MVC チームの推奨事項に従う場合、必要なことを行うために必要なすべての情報が含まれています。
- フォーム フィールドにアクセスするにはどうすればよいですか?
context.HttpContext.Request.Forms["myformfield"];
また
foreach (var field in context.HttpContext.Request.Forms.Keys) {
var value = context.HttpContext.Request.Forms[field];
}
- 値がフォームではなく URL を直接入力して渡される場合はどうなるでしょうか。
Form と QueryString の両方をチェックする必要がある場合は、両方のコレクションをループするだけです。
foreach (var field in context.HttpContext.Request.Forms.Keys) {
var value = context.HttpContext.Request.Forms[field];
}
foreach (var field in context.HttpContext.Request.QueryStrings.Keys) {
var value = context.HttpContext.Request.QueryStrings[field];
}
または、Form、QueryString、Headers などを含む Param をループできます。
foreach (var field in context.HttpContext.Request.Params.Keys) {
var value = context.HttpContext.Request.Params[field];
}
- これに関する最新情報はどこにありますか? (ほとんどのブログは古くなっています)? かつて Phill の投稿を読んだと思ったのですが、もう見つからないようです。
おっしゃるとおり、ASP.NET MVC の PM である Phil は情報を得るのに最適な場所です。