List转MVC DropDownListFor(SelectList)

/// <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" })

时间: 2024-10-12 17:19:19

List转MVC DropDownListFor(SelectList)的相关文章

.net mvc DropDownListFor下拉列表使用(验证)方法

@Html.DropDownListFor(model => model.SchoolId, new SelectList(ViewBag.SelectList, "SchoolTypeId", "Name"), "请选择")//model.SchoolId类型Int ViewBag.SelectList集合 @Html.ValidationMessageFor(model => model.SchoolTypeId, "&

ASP.NET MVC中为DropDownListFor设置选中项的方法

在MVC中,当涉及到强类型编辑页,如果有select元素,需要根据当前Model的某个属性值,让Select的某项选中.本篇只整理思路,不涉及完整代码. □ 思路 往前台视图传的类型是List<SelectListItem>,把SelectListItem选中项的Selected属性设置为true,再把该类型对象实例放到ViewBag,ViewData或Model中传递给前台视图. 通过遍历List<SelectListItem>类型对象实例 □ 控制器 ? 1 2 3 4 5 6

mvc中枚举的使用和绑定枚举值到DropDownListFor

1.EnumManage.cs新建枚举类 using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.ComponentModel;using System.Reflection;using System.Web.Mvc; namespace Manage.Extension{    //枚举    public enum TableStatus    {       

Asp.Net MVC中DropDownListFor的用法(转)

2016.03.04 扩展:如果 view中传入的是List<T>类型 怎么使用 DropList 既然是List<T> 那么我转化成 T  List<T>的第一个,最后一个不就是M吗? @Html.DropDownListFor(model=>model.First().Title, ViewData["Title"] as List<SelectListItem>, "标题", @"dropdown

MVC 中@Html.DropDownListFor() 设置选中项 这么不好使 ? [问题点数:40分,结帖人lkf181]

http://bbs.csdn.net/topics/390867060 由于不知道错误原因在哪 我尽量把代码都贴出来吧:重点是:在 Controller 类里 我给 SelectListItem集合的 某项 Selected 赋值为TRUE 在视图中就应该 将该项选中吧?? 在我这怎么没还是呢? 没有任何项选中!!Controller 类: C# code ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 2

Mvc HtmlHelper 方法扩展 DropDownListFor

项目中遇到表单提交中遇到枚举,忽然想起1年前的1小段代码结合HtmlHelper在扩展一下 便于开发中使用 public static class HtmlHelperExtensions { public static MvcHtmlString DropDownListFor<TModel, TProperty>(this HtmlHelper<TModel> htmlHelper, Expression<Func<TModel, TProperty>>

mvc下拉列表@Html.DropDownListFor的使用

1. 在开始的action里将下拉选项加入动态表达式 public ActionResult ArticList()        {            var articGroupList = articleGroupService.GetList(x => x.IsDeleted == false);    //获取分组列表            ViewBag.ArticleGroup = new SelectList(articGroupList, "Id", &qu

MVC下拉框Html.DropDownList 和DropDownListFor 的常用方法

一.非强类型:Controller:ViewData["AreId"] = from a in Table                               select new SelectListItem {                                Text=a.AreaName,                               Value=a.AreaId.ToString()                             

MVC中为Html.DropDownListFor()添加数据项

1.控制器中取得数据,构建SelectList,利用ViewData传值到View //*****************得到所有部门名称*********//   List<string> names = dep_m_BLL.GetAllNames(); //*****************构建SelectList*********//  SelectList name = new SelectList(names); ViewData["names"] = name;