MVC 3 DropDownListFor ModelState.IsValid为False

时间:2011-07-28 21:25:59

标签: guid html.dropdownlistfor

在视图.cshtml页面中:

    @{var items = new SelectList(Model.Rooms, "RoomGUID", "FullName");}
    @Html.DropDownListFor(x => x.Request.Room, @items)

在ViewModel .cs页面中:

    public class NewRequestView
        {
            public IEnumerable<Room> Rooms { get; set; }
            public Request Request { get; set; }
        }

在控制器中。 cs页面:

    NewRequestView nrv = new NewRequestView();
        nrv.Request = r;
        nrv.Rooms = db.Rooms;

        return View(nrv);

数据位于ModelState.Value.AttemptedValue中,但ModelState.ISValid为false。任何的想法?因为它返回GUID而不是对象。

1 个答案:

答案 0 :(得分:0)

通过在代码中添加此行并在其上设置断点,您可以在Watch窗口中获取验证错误列表:

var x = this.ModelState.Keys.SelectMany(key => this.ModelState[key].Errors);