在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具有正确的值。
您知道问题出在哪里吗?