コントローラから非表示フィールドの値を設定したいのですが、どうすればよいですか?
ビューの部分では、私はこのように与えました..
<div>
@Html.Hidden("hdnFlag", null, new { @id = "hdnFlag" })
</div>
コントローラから非表示フィールドの値を設定したいのですが、どうすればよいですか?
ビューの部分では、私はこのように与えました..
<div>
@Html.Hidden("hdnFlag", null, new { @id = "hdnFlag" })
</div>
に対応する値を設定できますViewData/ViewBag
。
ViewData["hdnFlag"] = "some value";
しかし、より良いアプローチは、もちろんビューモデルを使用することです:
model.hdnFlag = "some value";
return View(model);
ビューで強く型付けされたヘルパーを使用します。
@Html.HiddenFor(x => x.hdnFlag, new { id = "hdnFlag" })
ビュー モデルがなければ、単純な HTML 隠し入力を使用できます。
<input type="hidden" name="FullName" id="FullName" value="@ViewBag.FullName" />
テストがモデルであり、名前、アドレスがこのモデルのフィールドであると仮定して、コントローラーに次のコードを記述する必要があります。
public ActionResult MyMethod()
{
Test test=new Test();
var test.Name="John";
return View(test);
}
ビューでこのように使用して、隠し変数の設定値を指定します。
@model YourApplicationName.Model.Test
@Html.HiddenFor(m=>m.Name,new{id="hdnFlag"})
これにより、隠し値 = john が自動的に設定されます。