如何将下拉列表选定的数据传递到另一个表并在 asp.Net MVC 中更新该表
Posted
技术标签:
【中文标题】如何将下拉列表选定的数据传递到另一个表并在 asp.Net MVC 中更新该表【英文标题】:How to pass dropDown list Selected data to another table and update that table in asp.Net MVC 【发布时间】:2021-10-28 17:26:12 【问题描述】:控件类将输入数据保存到 Invoice 表中。
这是我的控制类
public ActionResult UpdateInvoice()
var getProduct = db.InventoryTbs.ToList();
SelectList list = new SelectList(getProduct, "PId", "PName", "PPrice");
ViewBag.Product = list;
return View();
[HttpPost]
public ActionResult UpdateInvoice(InvoiceTb idetail)
if (Session["User"] == null) // doesn't work
return RedirectToAction("Login");
else
try
db.InvoiceTbs.Add(idetail);
db.SaveChanges();
return RedirectToAction("ShowInvoice");
catch
return View();
这是我的UpdateInvoice.cshtml
。在这里,如果我输入 Lquantity 和 Bill 值,就会保存到 Invoice
表中。
我创建了一个下拉列表,显示另一个表(库存)中存在的项目。但它不会添加到 Invoice 表中。 输入数量后,我希望它从库存表中选择产品价格来计算账单
我尝试了 Json 和其他一些方法,但没有成功。
@model TallyBook_Store_Management_System.Models.InvoiceTb
@
ViewBag.Title = "UpdateInvoice";
var product = ViewBag.Product;
<h2>UpdateInvoice</h2>
@using (Html.BeginForm())
@Html.AntiForgeryToken()
<div class="form-horizontal">
<h4>InvoiceTb</h4>
<hr />
@Html.ValidationSummary(true, "", new @class = "text-danger" )
<div class="form-group">
@Html.LabelFor(model => model.ListName, htmlAttributes: new @class = "control-label col-md-2" )
<div class="col-md-10">
@Html.DropDownList( "Product", "Select")
@Html.ValidationMessageFor(model => model.ListName, "", new @class = "text-danger" )
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.LQuantity, htmlAttributes: new @class = "control-label col-md-2" )
<div class="col-md-10">
@Html.EditorFor(model => model.LQuantity, new htmlAttributes = new @class = "form-control" )
@Html.ValidationMessageFor(model => model.LQuantity, "", new @class = "text-danger" )
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.Bill, htmlAttributes: new @class = "control-label col-md-2" )
<div class="col-md-10">
@Html.EditorFor(model => model.Bill, new htmlAttributes = new @class = "form-control" )
@Html.ValidationMessageFor(model => model.Bill, "", new @class = "text-danger" )
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Create" class="btn btn-default" />
</div>
</div>
</div>
<div>
@Html.ActionLink("Back to List", "Index")
</div>
【问题讨论】:
【参考方案1】:我通过将下拉列表选择的数据从视图传递到控制器解决了这个问题。然后我在Controller中更新了具体的数据库表。
如果有其他有效或好的方法请分享,我想学习更多更好的方法。
【讨论】:
以上是关于如何将下拉列表选定的数据传递到另一个表并在 asp.Net MVC 中更新该表的主要内容,如果未能解决你的问题,请参考以下文章
保存下拉列表的选定值并在另一个下拉列表/重复下拉列表中默认分配它
Angular2:如何将选定项目从 HTML 数据列表元素传递回组件?