2010-04-08 7 views
0

Это, наверное, что-то глупое, я пропала, но я определенно потерян. Я использую .NET 4 RC и VS 2010. Это также моя первая попытка использовать UpdateModel в .NET 4, но каждый раз, когда я его вызываю, я получаю исключение, говорящее, что значение cannont равно null или пустое. У меня есть простой ViewModel под названием LogOnModel:Вызов исключения UpdateModel - значение не может быть пустым или пустым

[MetadataType(typeof(LogOnModelMD))] 
public class LogOnModel 
{ 
    public string Username { get; set; } 
    public string Password { get; set; } 

    public class LogOnModelMD 
    { 
     [StringLength(3), Required] 
     public object Username { get; set; } 
     [StringLength(3), Required] 
     public object Password { get; set; } 
    } 
} 

мой взгляд использует новые строго типизированные хелперы в MVC2, чтобы создать текстовое поле для имени пользователя и один пароль. Когда я смотрю на FormCollection в моем методе контроллера, я вижу значения для обоих.

И последнее, но не в последнюю очередь, здесь являются почтовые методы контроллера:

// POST: /LogOn/ 
    [HttpPost] 
    public ActionResult Index(FormCollection form) 
    { 
     var lm = new LogOnModel(); 

     UpdateModel(lm, form); 

     var aservice = new AuthenticationService(); 

     if (!aservice.AuthenticateLocal(lm.Username, lm.Password)) 
     { 
      ModelState.AddModelError("User", "The username or password submitted is invalid, please try again."); 
      return View(lm); 
     } 

     return Redirect("~/Home"); 
    } 

Может кто-то пожалуйста, одолжить некоторое представление о том, почему UpdateModel будет бросать это исключение? Благодаря!

ответ

0

Известная проблема с ранним просмотром MVC 2. Это было исправлено для RTM MVC 2. Вы можете скачать RTM MVC 2 от http://www.asp.net/mvc/. Информацию о том, как установить жюри-установку в VS2010 RC, можно найти по адресу http://haacked.com/archive/2010/02/10/installing-asp-net-mvc-2-rc-2-on-visual-studio.aspx.

+0

Спасибо! Это то, что я искал. –

Смежные вопросы