1. 程式人生 > >List轉MVC DropDownListFor(SelectList)

List轉MVC DropDownListFor(SelectList)

src opd for control toolbar summary syn rop log

/// <summary>
        /// List轉SelectListItem
        /// </summary>
        /// <typeparam name="T">Model對象</typeparam>
        /// <param name="t">集合</param>
        /// <param name="text">顯示值-屬性名</param>
        /// <param name="value">顯示值-屬性名</param>
        /// <param name="empId"></param>
        /// <returns></returns>
        public static List<SelectListItem> CreateSelect<T>(IList<T> t, string text, string value,string empId)
        {
            List<SelectListItem> l = new List<SelectListItem>();
            foreach (var item in t)
            {
                var propers = item.GetType().GetProperty(text);
                var valpropers = item.GetType().GetProperty(value);
                l.Add(new SelectListItem
                {
                    Text = propers.GetValue(item, null).ToString(), Value = valpropers.GetValue(item, null).ToString(),
                    Selected = valpropers.GetValue(item, null).ToString() == empId
                });
            }
            return l;
        }
技術分享

調用:

List<HrEmp> list = LoadData();
List<SelectListItem> emplist = CreateSelect<HrEmp>(list, "EmpName", "EmpId",entity.HrEmpGuid.ToString());
ViewData["Emp"] = new SelectList(emplist, "Value", "Text");

視圖調用:

1 @Html.DropDownListFor(t => t.HrEmpGuid, ViewData["Emp"]
as SelectList, new { @class = "form-control select2" })

List轉MVC DropDownListFor(SelectList)