[英]Bind Dropdown using mvc4
我需要幫助來綁定模型中的下拉值。
Model.cs
public class BloodGroup
{
public BloodGroup()
{
ActionsList = new List<SelectListItem>();
}
[Display(Name="Blood Group")]
public int Group { get; set; }
public IEnumerable<SelectListItem> ActionsList { get; set; }
}
public class ActionType
{
public int GroupId { get; set; }
public string BloodGroup { get; set; }
}
在控制器中:
List<ActionType> actionType = GetCourses();
bGroup.ActionsList = from action in actionType
select new SelectListItem
{
Text = action.BloodGroup,
Value = ((int)action.GroupId).ToString(),
Selected = action.BloodGroup.Equals("A+")?true:false
};
return view;
public List<ActionType> GetCourses()
{
return new List<ActionType> {
new ActionType () { GroupId = 1, BloodGroup = "A+"},
new ActionType () { GroupId = 2, BloodGroup = "B+"},
new ActionType () { GroupId = 3, BloodGroup = "O+" },
new ActionType () { GroupId = 4, BloodGroup = "AB+" },
new ActionType () { GroupId = 5, BloodGroup = "A-"},
new ActionType () { GroupId = 6, BloodGroup = "B-"},
new ActionType () { GroupId = 7, BloodGroup = "O-" },
new ActionType () { GroupId = 8, BloodGroup = "AB-" }
};
}
它成功返回查看。 但鑒於綁定下拉列表會引發錯誤。
鑒於
@model MyMVC.Models.BloodGroup
@Html.DropDownListFor(m => m.Group, new SelectList(Model.ActionsList, "Value", "Text",true), "-- Select --")</li>
返回錯誤。
你調用的對象是空的。
Model .ActionsList設置為Null。
我不知道為什么它顯示null,盡管我繼承了模型。
我需要有關如何將SelectList值綁定到下拉列表的幫助
您需要在操作方法BloodGroup
類的實例傳遞給視圖,如下所示:
public ActionResult YourAction()
{
List<ActionType> actionType = GetCourses();
var model = new BloodGroup()
{
ActionsList = (from action in actionType
select new SelectListItem
{
Text = action.BloodGroup,
Value = ((int) action.GroupId).ToString(),
Selected = action.BloodGroup.Equals("A+")
})
};
return View(model);
}
然后在您看來:
@model BloodGroup
@Html.DropDownListFor(m => m.Group, Model.ActionsList,"-- Select --")
注意
使用上面的例子,它會告訴你沒有錯誤的觀點,但在你所選擇的項目downdownList
將無法正確顯示。 為了正確顯示所選項目,您需要將Grop
屬性的類型更改為String
,如下所示:
public class BloodGroup
{
//
[Display(Name = "Blood Group")]
public string Group { get; set; }
//
}
然后使用上述相同的動作方法,使您的視圖像:
@model BloodGroup
@Html.DropDownList("Group", Model.ActionsList, "-- Select --")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.