0

我正在做一个 MVC 生产项目。

在我的生产详细信息视图中,我有一些按钮可以从数据库中获取更多数据,但为此我需要产品的 id。我可以看到它存在,但我能抓住它吗?

这是我返回数据的控制器:

 public ActionResult Details(long AProductionOrderId)
    {

        ProductionOrderList item = new ProductionOrderList();
        item = ProductionOrderReg.GetProductionOrders(conn, AProductionOrderId);
        ViewData["item"] = item;
        return View();
    }

这是我加载时的详细信息页面,我可以看到 id,但是如何在左侧的按钮中捕获和使用它以带来更多日期?

在此处输入图像描述

4

3 回答 3

0

您可以在查看页面上使用隐藏的输入来提交 ID。

你的看法:

<form method="post">
    <button type="submit">Button Text</button>
    <input type="hidden" name="AProductionOrderId" value="@ViewData['item']">
</form>
于 2013-05-08T18:18:45.130 回答
0

我写了这个我的控制器

ViewData["id"] = AProductionOrderId;

并在我看来

 long id = Convert.ToInt64( ViewData["id"]);
于 2013-05-09T05:52:43.537 回答
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;
 }
于 2013-05-17T23:18:49.660 回答