C# 如何在MVC中捕获aspx页面中的id
我在做一个MVC制作项目 在我的Production details视图中,我有一些按钮可以从数据库中获取更多数据,但为此,我需要产品的id。我能看到它的存在,但我能抓住它吗 这是我返回数据的控制器:C# 如何在MVC中捕获aspx页面中的id,c#,asp.net-mvc,C#,Asp.net Mvc,我在做一个MVC制作项目 在我的Production details视图中,我有一些按钮可以从数据库中获取更多数据,但为此,我需要产品的id。我能看到它的存在,但我能抓住它吗 这是我返回数据的控制器: public ActionResult Details(long AProductionOrderId) { ProductionOrderList item = new ProductionOrderList(); item = ProductionO
public ActionResult Details(long AProductionOrderId)
{
ProductionOrderList item = new ProductionOrderList();
item = ProductionOrderReg.GetProductionOrders(conn, AProductionOrderId);
ViewData["item"] = item;
return View();
}
这是我的详细信息页面,当它加载时,我可以看到id,但是如何在左边的按钮中捕捉并使用它来带来更多的日期
您可以在查看页面上使用隐藏输入来提交ID 你的看法:
<form method="post">
<button type="submit">Button Text</button>
<input type="hidden" name="AProductionOrderId" value="@ViewData['item']">
</form>
按钮文本
我写了这个im我的控制器
ViewData["id"] = AProductionOrderId;
并在我的视野中抓住了它
long id = Convert.ToInt64( ViewData["id"]);
如果您的控制器是:
public ActionResult Details(long AProductionOrderId)
{
var item = ProductionOrderReg.GetProductionOrders(conn, AProductionOrderId);
ViewBag.ProductionOrderId = AProductionOrderId;
return View(item);
}
然后,您的AProductionOrderId将出现在ViewBag中,尽管我看不出您需要它的原因,因为无论项目的类型是什么(单个对象实例或对象列表),它都包含您的ID作为属性,因为您是通过此ID获取项目的。无论如何,在您的模型中,您需要像这样声明您的模型:
@model YourModelNamespace.ProductionOrderList
@{
long AProductionOrderId = Viewbag.AProductionOrderId;
}
现在,您可以在视图中访问模型的任何属性。但如果您确实需要,可以通过ViewBag访问它,如下所示:
@model YourModelNamespace.ProductionOrderList
@{
long AProductionOrderId = Viewbag.AProductionOrderId;
}
请努力用正确的英语书写-你至少可以修正排版你有哪些排版路线?只需将id放入ViewData并让按钮使用它。你为什么不将模型传递给你的view???我的意思是,你要在你的控制器中得到这个项目,它必须有ID属性,所以返回视图(项目);然后在视图上定义模型,您就有了所需的吗?为什么要使用ViewData???