我正在从事MVC制作项目。
在我的生产详细信息视图中,我有一些按钮可以从数据库中获取更多数据,但为此我需要产品的ID。我可以看到它存在,但我可以抓住它吗?
这是我的控制器返回数据:
public ActionResult Details(long AProductionOrderId)
{
ProductionOrderList item = new ProductionOrderList();
item = ProductionOrderReg.GetProductionOrders(conn, AProductionOrderId);
ViewData["item"] = item;
return View();
}
这是我加载的详细信息页面,我可以看到id,但是如何捕获并在左边的按钮中使用它来带来更多日期?
答案 0 :(得分:0)
您可以在视图页面上使用隐藏的输入来提交ID。
你的观点:
<form method="post">
<button type="submit">Button Text</button>
<input type="hidden" name="AProductionOrderId" value="@ViewData['item']">
</form>
答案 1 :(得分:0)
我写这个我的控制器
ViewData["id"] = AProductionOrderId;
并在我看来抓住了它
long id = Convert.ToInt64( ViewData["id"]);
答案 2 :(得分:0)
如果您的控制人是:
public ActionResult Details(long AProductionOrderId)
{
var item = ProductionOrderReg.GetProductionOrders(conn, AProductionOrderId);
ViewBag.ProductionOrderId = AProductionOrderId;
return View(item);
}
然后你的AProductionOrderId将在ViewBag中,虽然我没有看到你需要它的原因,因为无论什么类型的项目(单个对象实例或对象列表)它包含你的ID作为属性因为你是通过此ID获取项目。无论如何,在您的模型中,您需要声明您的模型:
@model YourModelNamespace.ProductionOrderList
现在您可以在视图中访问模型的任何属性。但如果您真的想要,可以通过ViewBag访问它:
@{
long AProductionOrderId = Viewbag.AProductionOrderId;
}