Div*_*Dan 3 entity-framework-4 asp.net-mvc-3
我有一个mvc 3应用程序,在我的实体框架中有2个表.
PurchaseTable是PurchaseID,PurchaseDate和ProductID我有另一个名为Product的表,其中包含ProductID和ProductName.创建新视图以插入新购买如何将ProductID视图中的文本框更改为Product表中ProductName限定的下拉列表?
创建一个ViewModel:
public class CreatePurchaseViewModel
{
public Purchase Purchase { get; set; }
public IEnumerable<SelectListItem> Products { get; set; }
public int SelectedProductId { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
使用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);
}
Run Code Online (Sandbox Code Playgroud)
然后只需绑定到ViewModel并使用DropDownListFor HTML Helper:
<! -- other code to bind to Purchase, and then: -->
<%= Html.DropDownListFor(x => x.SelectedProductId, Model.Products) %>
Run Code Online (Sandbox Code Playgroud)
然后,当您提交表单时,SelectedProductId模型中的值将使用下拉列表中的选定值进行填充.
| 归档时间: |
|
| 查看次数: |
6692 次 |
| 最近记录: |