从数据库填充下拉列表

2024-02-12

我的实体框架中有一个 mvc 3 应用程序,其中有 2 个表。

我有另一个名为 Product 的表,其中包含 ProductID 和 ProductName。创建新视图以插入新购买 如何将视图中的 ProductID 文本框更改为由 Product 表中的 ProductName 绑定的下拉列表?


创建一个视图模型:

public class CreatePurchaseViewModel
{
   public Purchase Purchase { get; set; }
   public IEnumerable<SelectListItem> Products { get; set; }
   public int SelectedProductId { get; set; }
}

使用 ViewModel 设置视图:

[HttpGet]
public ActionResult CreateProduct()
{
   var model = new CreatePurchaseViewModel
   {
      Products = repository.FindAllProducts().Select(x =>
              new SelectListItem
              {
                  Text = x.ProductName,
                  Value = x.ProductId
              }
   };

   return View(model);
}

然后只需绑定到 ViewModel 并使用 DropDownListFor HTML Helper:

<! -- other code to bind to Purchase, and then: -->

<%= Html.DropDownListFor(x => x.SelectedProductId, Model.Products) %>

然后当您提交表单时,SelectedProductId模型中的值将使用下拉列表中选定的值进行填充。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从数据库填充下拉列表 的相关文章

随机推荐