我使用Html.ActionLink("","",new{id=packageID})
从某个视图(比如mainView)渲染新视图
和我的控制器动作(ActionLink传递控制)看起来像
public ActionResult editChecks(int packageID)
{return View();}
现在在渲染视图(“editChecks”)我想隐藏packageID,以便我可以通过任何方式使用它(通过将其传递给另一个控制器动作)另一个动作
即我是在View(“editChecks”)中使用表单,该表单将数据提交给某些操作说(action2)
目前我在我的视图中使用这个(“editChecks”)
和string pid = Request.Form["packageID"];
在我的控制器动作(需要packageID)这样可以长期运行???或者我应该选择什么替代???
答案 0 :(得分:2)
您可以在方法中声明任何预期的参数。如果未提供默认值,您也可以声明默认值String packageID = "0"
public ActionResult action2(Int32 packageID) {
// can use packageID here
// Or make it accessable on the view
ViewBag.PackageID = packageID;
return View();
}
在视图中,您可以通过键入
来访问它@ViewBag.PackageID
虽然我在某些情况下质疑为什么你的packageID是String
。你不应该使用Int32
吗?
编辑:继续你的评论,
@Html.Hidden("PackageID", (Int32)@ViewBag.PackageID)
将隐藏页面上的属性。并将传递给任何被调用的提交(在表单中假设)作为名称“PackageID”