Что является заменой Controller.ReadFromRequest в ASP.NET MVC?
-
09-06-2019 - |
Вопрос
Я пытаюсь обновить проект с ASP.NET MVC Preview 3 до Preview 5, и кажется, что Controller.ReadFromRequest (строковый ключ) был удален из класса Controller. Кто-нибудь знает какие-либо альтернативы для извлечения информации на основе идентификатора из формы?
Решение
Похоже, что они добавили controller.UpdateModel для решения этой проблемы, подпись:
UpdateModel(object model, string[] keys)
Я не обновлял свое приложение лично, поэтому не уверен в фактическом использовании. Мне будет интересно узнать об этом лично, поскольку я использую также controller.ReadFromRequest
.
Другие советы
Не уверен, куда это делось. Вы можете свернуть свое собственное расширение, хотя:
открытый статический класс MyBindingExtensions {Р>
public static T ReadFromRequest < T > (this Controller controller, string key)
{
// Setup
HttpContextBase context = controller.ControllerContext.HttpContext;
object val = null;
T result = default(T);
// Gaurd
if (context == null)
return result; // no point checking request
// Bind value (check form then query string)
if (context.Request.Form[key] != null)
val = context.Request.Form[key];
if (val == null)
{
if (context.Request.QueryString[key] != null)
val = context.Request.QueryString[key];
}
// Cast value
if (val != null)
result = (t)val;
return result;
}
}
Не могли бы вы повторить эту ссылку на что-то вроде tinyurl.com?
Мне тоже нужна эта информация, но я могу заставить эту мега-ссылку работать.