Ich möchte den Wert eines ausgeblendeten Feldes von einem Controller aus einstellen, wie kann ich das tun?
In Ansicht Teil habe ich wie folgt gegeben.
<div>
@Html.Hidden("hdnFlag", null, new { @id = "hdnFlag" })
</div>
Bitte finden Sie den Code für die betreffende Region.
Controller
ViewBag.hdnFlag= Session["hdnFlag"];
Ansicht
<input type="hidden" value="@ViewBag.hdnFlag" id="hdnFlag" />
JavaScript
var hdnFlagVal = $("#hdnFlag").val();
Sie können den entsprechenden Wert in der "ViewData/ViewBag" einstellen:
ViewData["hdnFlag"] = "some value";
Aber ein viel besserer Ansatz ist es natürlich, ein View Model zu verwenden:
model.hdnFlag = "some value";
return View(model);
und einen stark typisierten Helfer in Ihrer Ansicht zu verwenden:
@Html.HiddenFor(x => x.hdnFlag, new { id = "hdnFlag" })
Sie müssen folgenden Code in den Controller schreiben Nehmen Sie an, dass Test ein Modell ist und Name und Adresse Felder dieses Modells sind.
public ActionResult MyMethod()
{
Test test=new Test();
var test.Name="John";
return View(test);
}
Verwenden Sie nun diesen Code in Ihrer Ansicht, um den Wert der versteckten Variable zu setzen.
@model YourApplicationName.Model.Test
@Html.HiddenFor(m=>m.Name,new{id="hdnFlag"})
Dies wird automatisch den versteckten Wert=john setzen.