在 mvc 3.0 中设置下拉列表
本文关键字:设置 下拉列表 mvc | 更新日期: 2023-09-27 17:56:05
using (var db = new PNUBOOKIR.Models.KowsarSiteEntities())
{
var q = (from m in db.GoodTypes
select new
{
GroupCode = m.GroupCode,
Text = m.Text
}).ToList();
}
如何在下拉列表中将其设置为组码作为值,将文本设置为项目文本如何在 mvc 3.0 中做到这一点?
添加:
public ActionResult Index()
{
using (var db = new PNUBOOKIR.Models.KowsarSiteEntities())
{
var q = from m in db.GoodTypes
where !m.GroupCode.Equals(null) && !m.Text.Equals(string.Empty) && !m.Text.Equals(null)
select new
{
GroupCode = m.GroupCode,
Text = m.Text
};
ViewData["list"] = q.ToList().Select(t => new SelectListItem()
{
Text = t.Text,
Value = t.GroupCode.ToString(),
Selected = true
});
}
return View();
}
<div>
@using (Html.BeginForm())
{
System.Collections.IEnumerable ien = (System.Collections.IEnumerable)ViewData["list"];
Html.DropDownList("lstGoodTypes", new SelectList(ien, "Value", "Text"));
}
</div>
它可以工作,但结果没有下拉列表,没有错误,也没有下拉列表,它很酷。
在控制器中,您可以执行以下操作:
ViewData["list"]=q.Select(t=>new SelectListItem
{
Text=t.Text,
Value=t.GroupCode,
Selected=<Here you have to return a boolean to decide if the item is selected>
});
在您看来,您可以将其添加到表单中:
@Html.DropDownList("list")
在表单的 post 方法中,您需要有一个与 GroupCode 类型相同的名为 list 的参数,并对其进行相应的处理。