DropDownListFor选择了错误的值

时间:2013-02-27 15:14:08

标签: asp.net-mvc-3 dropdownlistfor

在MVC 3中,我有一个EF代码第一类:

 public class Client
{
    [Key]
    [MaxLength(4)]
    [Display(Name="labClientID", ResourceType=typeof(Resources.Translations.Client))]
    public string ClientID { get; set; }


    [MaxLength(50)]
    [Display(Name="labName", ResourceType=typeof(Resources.Translations.Client))]
    public string Name { get; set;}
}

客户端用于以下Person类:

  public class Person
{

    [Key]
    [MaxLength(50)]
    public string UserID { get; set; }

    [MaxLength(50)]
    public string LastName { get; set; }

    [UIHint("ForeignKey")]
    [MaxLength(4)]

    public string ClientID { get; set; }

    public virtual Client Client { get; set; }
}

客户有ID,如01,02,03等

在编辑视图中,我为编辑人员视图提供了以下razor语句:

@Html.DropDownListFor(m => m.ClientID , new SelectList(ViewBag.Clients, "ClientID", "Name"))

ViewBag.Clients之前使用:

构建
ViewBag.Clients = (from x in Context.Client select new {x.ClientID, x.Name});

现在出现了一个奇怪的部分:我在person类中为ClientID选择了哪个值,当我打开包含DropDownListFor语句的编辑视图时,DropDownList总是显示客户端表中的第二个条目。

我调试了客户端viewbag并且它包含正确的值,我也使用了编辑器而不是DropDownListFor,并且person实体中的clientid具有正确的值。

您知道问题出在哪里吗?

0 个答案:

没有答案