2016-03-04 68 views
0

我正在开发一个基本的MVC应用程序。我有三张表,使用名称提取字段的ID

Customer(cId,cName) 
Product(pId,pName,price) 
Invoice(iId,cId,pId,quantity) 

其中cId,pId是外键。

我使用MVC中提供的脚手架为产品名称,客户名称,价格,数量显示创建了发票表的基本显示页面。

但为了添加新发票,点击Create new时提供的代码需要详细信息为productId,客户ID。 我希望用户能够输入客户和产品名称并将其显示在屏幕上。因此,如何获取产品名称和客户名称,并捕获其产品ID以显示价格?

+0

使用下拉列表显示并选择客户和产品 –

+0

@StephenMuecke产品名称是否可以显示和产品ID作为值? – TheFallenOne

+0

是的。你可以使用'var CustomerList = new SelectList(db.Customers,“cId”,“cName”);'在'@ Html.DropDownList()中使用'来生成'SelectList',它将显示'cName'的值,但绑定到'cId'值。 –

回答

0

是的,你可以做到这一点。 对产品的详细信息,您可以使用下拉列表中显示的文字作为产品名称和值作为产品的ID

例如

List<SelectListItem> productlist= new List<SelectListItem>(); 

    items.Add(new SelectListItem { Text = "fridge", Value = "0"}); 

    items.Add(new SelectListItem { Text = "AC", Value = "1" }); 

    items.Add(new SelectListItem { Text = "TV", Value = "2", Selected = true }); 
ViewBag.productlist= items; 

和视图这样

@Html.DropDownListFor(model => model.products, ViewBag.productlist as List<SelectListItem>,htmlAttributes: new { @class = "form-control"}) 

客户

您可以使用

<input type="hidden" name="customer" value="customerid" />