当我退回所有产品时,我有一个表格。在每个产品旁边我都有TextBox。
View form:
|ID|Product|TextBox (amount of product)
|3 |Carrot | 20
|4 |Potatos| 5
|7 |Tomato | 10
在这个文本框中,我写了一些产品并将其保存到数据库
Add(zuzycie) table:
|ID|ID_Product|amount|date
|1 | 3 | 20 |3.12.2011
|2 | 4 | 5 |3.12.2011
|3 | 7 | 10 |3.12.2011
和其他(产品)数据库中的产品总量。
Product table
|ID|name |amount
|3 |Carrot |10 + 20
|4 |Potatos|15 + 5
|7 |Tomato |7 + 10
在数据库中,金额保存为单独的记录。我希望你明白我的意思。
如何获取控制器中每个产品的ID并将其保存在数据库中?
查看:
@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
<fieldset>
<legend>Zużycie produków</legend>
<br />
@{
var grid = new WebGrid(ViewBag.produkty,null, "Produkty", 5);
}
@grid.GetHtml(
tableStyle: "grid",
headerStyle: "head",
alternatingRowStyle: "alt",
columns: grid.Columns(
grid.Column("nazwa_prod","Produkt"),
grid.Column("ilosc","Ilość"),
grid.Column("jednostka","Jed."),
grid.Column("cena","Cena"),
grid.Column("nazwa","Firma"),
grid.Column("ID_Produkt", "ID_Prod" ),
grid.Column(header: "Zuzycie", format: (item) =>
new HtmlString(
Html.TextBoxFor(model => model.ilosc).ToString())) /*amount text box */
)
)
型号:
public class zuzycieModel
{
public int ID_Produktu { get; set; } //Id_product
public decimal ilosc {get;set;} //amount
public string data { get; set; } //date
}
控制器:
public ActionResult zuzycie()
{
var prod = (from d in baza.Produkts
join s in baza.Firmas on d.ID_firma equals s.ID_firma
select new { d.ID_firma, d.nazwa_prod, d.ilosc, d.jednostka, d.cena, d.ID_Produkt, s.nazwa }).ToList();
ViewBag.produkty = prod;
return View();
}
[HttpPost]
public ActionResult zuzycie(zuzycieModel model)
{
Zuzycie zuz = new Zuzycie(); //table zuzycie
var dat = DateTime.Today;
zuz.ID_Produkt = model.ID_Produktu; //Id product
zuz.ilosc = model.ilosc; //amount
zuz.data = dat; //date
baza.Zuzycies.InsertOnSubmit(zuz);
baza.SubmitChanges();
return RedirectToAction("zarzadzaj_produktami", "Produkt");
}
我尝试获取产品ID,我把它放在View中作为HiddenFor并使用模型......但它不起作用......
答案 0 :(得分:0)
我不清楚你用HttpPost zuzycie()方法的想法是什么。什么是Zuzycie()?您要求保存多条记录,但您的ZuzycieModel cleary指的是单个ProductID。
为什么使用ViewBag将集合传递给View?你能不能通过
返回它return View(prod);
注意你传递了什么 - Collection(一个List&lt;&gt;),我不认为这会反映在你的数据持久性逻辑中。