如何在视图模型MVC 4中选择选项列表中的项目

时间:2013-09-02 06:39:20

标签: asp.net-mvc asp.net-mvc-4 selectlist

我是mvc 4的新手,但取得了进步。我对如何在视图模型中的选择列表中选择项目感到疯狂。 这是我的控制器代码;

ViewBag.DepartmanListesi = new SelectList(VeriTabani.UnvanDepartmanlaris, "UDepId", "Departman");

在我的视图模型中我列出了一个不同的数据库,但是在这个列表中,一个字段包含UnvanDepartmanlaris的id。而不是显示id,我想显示id的名称。但我所尝试的并没有奏效。能帮帮我吗。

我搜索了很多东西,但大部分是关于如何设置下拉列表。我找不到任何问题的答案。

提前谢谢你。我将等待任何回复

2 个答案:

答案 0 :(得分:3)

试试这个,

<强>控制器

 public List<CustomerModel> GetCustomerName()
        {
            // Customer DropDown
            using (dataDataContext _context = new dataDataContext())
            {
                return (from c in _context.Customers
                        select new CustomerModel
                        {
                            CustomerId = c.CID,
                            customerName = c.CustomerName
                        }).ToList<CustomerModel>();
            }
        }

  [HttpGet]
        public ActionResult CustomerInfo()
        {

            var List = GetCustomerName();
            ViewBag.CustomerNameID = new SelectList(List, "CustomerId", "customerName");
            return View();
        }

查看

@Html.DropDownList("CustomerId", (SelectList)ViewBag.CustomerNameID, "--Select--")

<强>模型

public class CustomerModel
    {
        public int CustomerId { get; set; }

        public string customerName { get; set; }

        public List<SelectListItem> customerNameList { get; set; }
}

答案 1 :(得分:0)

我正在使用以下方法。希望它有所帮助:

创建助手类(我在这里有所有选择列表)

Public static class Helper
{
public static List<SelectListItem> GetList()
        {
            var result = new List<SelectListItem>();
            var ctx = new YourContext();

            var items = from n in ctx.Clients
                        select new SelectListItem
                        {
                            Text = n.Client.Name,
                            Value = n.ClientID.ToString()
                        };

            foreach (var item in items)
                result.Add(item);
            return result;
        }
}

比你的观点:

@Html.DropDownList("GetClients", Helper.GetList())

适合我。