- С чего мне начать? Это поведение
из коробки или я реализую
SearchBagBinder? Я бросил быстрый взгляд
в IModelBinder, но не могу
обернуть голову вокруг него и
DefaultModelBinder источник не
сделай меня мудрее.
Это из коробки. Вы можете использовать UpdateModel или ModelBinder, чтобы добиться того, что вы хотите сделать.
- Что это за ModelBindingContext?
Содержит всю необходимую информацию для запроса на привязку к вашей модели. Подобно ControllerContext и ActionFilterContext, это в основном состояние ModelBinder и содержит всю информацию, необходимую для выполнения того, что вы хотите, если вы следуете рекомендациям групп ASP.NET MVC относительно того, что ModelBinder должен делать.
- Как получить доступ к полям формы?
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];
}
или вы можете перебрать Param, который будет содержать Form, QueryString, Headers и т. Д.
foreach (var field in context.HttpContext.Request.Params.Keys) {
var value = context.HttpContext.Request.Params[field];
}
- Где я могу найти актуальную информацию?
информация об этом * (большинство блогов
устаревшее)? Я думал, что я прочитал пост
Филом в одно время, но я не могу
кажется, больше его не находит.
Вы правильно поняли, что Фил - лучшее место для информации, как премьер-министр ASP.NET MVC.