1

在 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 等

在编辑视图中,我对编辑人员视图有以下剃刀语句:

@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 并且它包含正确的值,我还使用了 editorfor 而不是 DropDownListFor 并且 person 实体中的 clientid 具有正确的值。

你知道问题出在哪里吗?

4

0 回答 0