Что является заменой Controller.ReadFromRequest в ASP.NET MVC? - PullRequest
5 голосов
/ 30 августа 2008

Я пытаюсь обновить проект с ASP.NET MVC Preview 3 до Preview 5, и кажется, что Controller.ReadFromRequest (строковый ключ) удален из класса Controller. Кто-нибудь знает какие-либо альтернативы для извлечения информации на основе идентификатора из формы?

Ответы [ 3 ]

3 голосов
/ 30 августа 2008

Похоже, они добавили controller.UpdateModel для решения этой проблемы, подпись:

UpdateModel(object model, string[] keys)

Я не обновлял свое приложение лично, поэтому не уверен в фактическом использовании. Мне будет интересно узнать об этом лично, так как я использую controller.ReadFromRequest.

2 голосов
/ 30 августа 2008

Не уверен, куда это делось. Вы можете свернуть свое собственное расширение, хотя:

открытый статический класс 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;
}

}
0 голосов
/ 04 сентября 2008

не могли бы вы переделать эту ссылку в нечто вроде tinyurl.com?

Мне тоже нужна эта информация, но я могу заставить эту мега-ссылку работать.

...