-1

を使用して、いくつかのビュー(mainViewなど)から新しいビューをレンダリングしていますHtml.ActionLink("","",new{id=packageID})
。コントローラーアクション(ActionLinkがコントロールを渡す)は
public ActionResult editChecks(int packageID) {return View();}
、レンダリングされたビュー(「editChecks」)で、packageIDを非表示にして使用できるようにします(渡すことによって)何らかの手段で別のアクションで別のコントローラーアクションに)、つまり、

View("editChecks") 内のフォームを使用して、何らかのアクション say(action2) にデータを送信しています


現在、私はこれをビュー(「editChecks」)で使用して
おりstring pid = Request.Form["packageID"];、コントローラーアクション(packageIDが必要)でこれを使用していますが、これは長期的にはうまく機能しますか??? または、私が行くべき代替手段はありますか???

4

1 に答える 1

3

メソッドで必要なパラメーターを宣言できます。デフォルトが指定されていない場合は、デフォルトを宣言することもできます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

String場合によっては、あなたのpackageIDがなぜaなのか疑問に思いますが。使用すべきではありませんInt32か?

編集:あなたのコメントを続けて、

@Html.Hidden("PackageID", (Int32)@ViewBag.PackageID)

ページの属性が非表示になります。そして、名前「PackageID」として(フォーム内であると仮定して)呼び出された送信に渡されます

于 2011-12-23T11:14:34.817 に答える