我有一個mvc3下拉列表包含組織list.I能夠填充使用下面的代碼。但是當我提交表單時,我得到Id而不是名稱和相應的Id爲空。Mvc3 DropdownlistFor錯誤
控制器
ViewBag.DropDownList =organizationModelList.Select(x => new SelectListItem { Text = x.Name, Value = x.Id.ToString() });
return view();
模型
public class SubscriberModel
{
public OrgnizationList Organization { get; set; }
public RegisterModel RegisterModel { get; set; }
public SubscriberDetails SubscriberDetails { get; set; }
}
public class OrgnizationList
{
[Required]
public ObjectId Id { get; set; }
[Required]
[DataType(DataType.Text)]
[Display(Name = "Name")]
public string Name { get; set; }
}
查看 @
model FleetTracker.WebUI.Models.SubscriberModel
@using (Html.BeginForm((string)ViewBag.FormAction, "Account")) {
<div>
@Html.DropDownListFor(m => m.Organization.Name, (IEnumerable<SelectListItem>)ViewBag.DropDownList, "---Select a value---")
</div>
}
當我改變它湯姆=>米組織.Id,那麼模型狀態將變爲無效。
@Von。我只有名字,但我想要Id和Name。 – 2013-04-04 10:26:15
查看我更新的答案,只需根據需要調整即可。 – 2013-04-04 10:33:09