繁体   English   中英

如何在asp.net MVC3剃刀视图中隐藏ViewBag

[英]How to hide ViewBag in asp.net MVC3 razor View

我正在使用Html.ActionLink("","",new{id=packageID})从某些视图(例如mainView)呈现一个新视图
和我的控制器动作(ActionLink将控件传递给)看起来像
public ActionResult editChecks(int packageID) {return View();}
现在在Rendered View(“ editChecks”)处,我想隐藏packageID,以便可以通过任何方式(通过将其传递给另一个控制器动作)对另一个动作使用它

即我在View(“ editChecks”)中使用表单,该表单正在将数据提交到某些动作say(action2)


目前,我正在使用此视图(“ editChecks”)
string pid = Request.Form["packageID"]; 在我的控制器动作(需要packageID)上,长期运行是否正常??? 还是我应该寻求任何替代选择???

您可以在方法中声明任何期望的参数。 如果未提供默认值,也可以声明默认值String packageID = "0"

编辑:您的问题令人困惑。 如果要在视图上访问它,请使用viewbag。

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”传递给任何调用的Submit(假设在表单中)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM