Asp.net mvc 2 调用UpdateModel时发生异常-值不能为null或空

Asp.net mvc 2 调用UpdateModel时发生异常-值不能为null或空,asp.net-mvc-2,.net-4.0,Asp.net Mvc 2,.net 4.0,这可能是我错过的愚蠢的事情,但我肯定是迷路了。我使用的是.NET4RC和VS2010。这也是我第一次尝试在.NET4中使用UpdateModel,但每次调用它时,我都会收到一个异常,表示值不能为null或空。我有一个名为LogOnModel的简单视图模型: [MetadataType(typeof(LogOnModelMD))] public class LogOnModel { public string Username { get; set; } public string

这可能是我错过的愚蠢的事情,但我肯定是迷路了。我使用的是.NET4RC和VS2010。这也是我第一次尝试在.NET4中使用UpdateModel,但每次调用它时,我都会收到一个异常,表示值不能为null或空。我有一个名为LogOnModel的简单视图模型:

[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会抛出这个异常吗?谢谢

MVC 2早期预览的已知问题。这是固定的MVC2RTM。您可以从下载MVC2RTM。有关如何将此安装装配到VS2010 RC的信息,请访问。

谢谢!这就是我要找的。