gpt4 book ai didi

asp.net-mvc - MVC3 使用值和名称填充下拉列表

转载 作者:行者123 更新时间:2023-12-01 12:46:29 24 4
gpt4 key购买 nike

使用 MVC3。我已经有一个 DropDownList,它是从数据库表中填充的

目前仅填充了 Units.Name,但我还想填充它的 Unit.Id(它将隐藏在下拉列表中)以便在用户选择项目时获取 ID 并在他们点击时使用它在创建按钮上(POST 方法)。

我需要修改什么才能使其以这种方式工作?

我知道这是微不足道的,但我是 MVC 的新手。我尝试了很多可能性,但都没有成功。

Controller ...

public ActionResult Create()
{

private BridgeEntities db = new BridgeEntities();


var query = (from units in db.Units
select units).ToList().OrderBy(q => q.Name);

List<string> listOfUnits = new List<string>();
foreach (var item in query)
{
listOfUnits.Add(item.Name);
}
ViewBag.ListOfUnits = listOfUnits;


return View();
}

在创建 View 中...

@Html.DropDownList("Unit",new SelectList(ViewBag.ListOfUnits))

我的创建按钮...

<button type="submit" class = "btn btn-success">
<i class="icon-plus icon-white"></i> Create
</button>

提前致谢!

最佳答案

ViewBag.ListOfUnits = new SelectList(db.Units.OrderBy(q => q.Name).ToList(), 
"Id",
"Name");

更新:

在我的脑海中:

// Select Ids to exclude from list
IQueryable<int> exclude = db.DeprecatedUnits.Select(p => p.UnitID);

// Select units for selectlist, ignore the ids which are in exclude list
var units = db.Units.Where(q => !exclude.Contains(q.Id)).OrderBy(q => q.Name).ToList();

// Create the selectlist
ViewBag.ListOfUnits = new SelectList(units,"Id","Name");

关于asp.net-mvc - MVC3 使用值和名称填充下拉列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15357931/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com