フォームの非表示変数にクエリ文字列値を設定し、GETアクションメソッドでレンダリングして、POSTアクションメソッドで受け入れることができます。
GET
アクションによってレンダリングされたビュー
@using (Html.BeginForm())
{
//Other form elements also
@Html.Hidden("teacher",@Request.QueryString["teacherID"] as string)
@Html.Hidden("createAndAssign",@Request.QueryString["createAndAssign"]
as string)
<input type="submit" />
}
これteacher
で、アクションメソッドにパラメーターとcreateAndAssignパラメーターHttpPost
が含まれるようになり、フォームを送信したときに使用できるようになります。
[HttpPost]
public ActionResult Create(string teacher,string createAndAssign)
{
//Save and Redirect
}
あなたの意見が強くタイプされている場合(これは私の個人的な好みです)、それは非常に簡単です、
public ActionResult GET(string teacherID,string createdAndAssing)
{
var yourVMObject=new YourViewModel();
yourVMObject.TeacherID=teacherID;
yourVMObject.CreateAndAssign=createdAndAssing;
return View(createdAndAssing);
}
強くタイプされたビューでは、
@model YourViewModel
@using (Html.BeginForm())
{
//Other form elements also
@Html.HiddenFor(x=>x.TeacherID)
@Html.HiddenFor(x=>x.CreateAndAssign)
<input type="submit" />
}
そしてあなたのPOST
行動で
[HttpPost]
public ActionResult Create(YourViewModel model)
{
//look for model.TeacherID
//Save and Redirect
}