Ich möchte den Wert eines verborgenen Feldes von einem Controller aus einstellen. Wie kann ich das tun?
Im Ansichtsteil habe ich so gegeben ..
<div>
@Html.Hidden("hdnFlag", null, new { @id = "hdnFlag" })
</div>
Bitte finden Sie den Code für die jeweilige Region.
Regler
ViewBag.hdnFlag= Session["hdnFlag"];
Aussicht
<input type="hidden" value="@ViewBag.hdnFlag" id="hdnFlag" />
JavaScript
var hdnFlagVal = $("#hdnFlag").val();
Sie können den entsprechenden Wert im ViewData/ViewBag
einstellen:
ViewData["hdnFlag"] = "some value";
Aber ein viel besserer Ansatz ist natürlich die Verwendung eines Ansichtsmodells:
model.hdnFlag = "some value";
return View(model);
und verwenden Sie einen stark typisierten Helfer in Ihrer Ansicht:
@Html.HiddenFor(x => x.hdnFlag, new { id = "hdnFlag" })
Ohne Ansichtsmodell können Sie eine einfache, versteckte HTML-Eingabe verwenden.
<input type="hidden" name="FullName" id="FullName" value="@ViewBag.FullName" />
Sie müssen folgenden Code auf den Controller schreiben Angenommen, test ist model und Name, Address sind Feld dieses Modells.
public ActionResult MyMethod()
{
Test test=new Test();
var test.Name="John";
return View(test);
}
verwenden Sie jetzt wie folgt in Ihrer Ansicht, um den Wert der verborgenen Variablen festzulegen.
@model YourApplicationName.Model.Test
@Html.HiddenFor(m=>m.Name,new{id="hdnFlag"})
Dadurch wird der verborgene Wert automatisch festgelegt.
Bitte versuchen Sie es auf folgende Weise.
@Html.Hidden("hdnFlag",(object) Convert.ToInt32(ViewBag.page_Count))
wenn Sie das Modell nicht entsprechend Ihrer Frage verwenden, können Sie dies tun
@Html.HiddenFor("hdnFlag" , new {id = "hdnFlag", value = "hdnFlag_value" })
andernfalls, wenn Sie model verwenden (in Anbetracht der Übergabe der model-Eigenschaft hdnFlag), können Sie diesen Ansatz verwenden
@Html.HiddenFor(model => model.hdnFlag, new { value = Model.hdnFlag})
Wenn Sie den Wert wie eine ID wiederverwenden möchten, oder wenn Sie ihn einfach beibehalten möchten, können Sie "new {id = 'erwünschteID/value"}) als Parameter hinzufügen, damit Sie über jquery/javascript auf den Wert zugreifen können
@Html.HiddenFor(model => model.Car_id)
Mit ViewData[""]
können Sie Werte vom Controller übertragen.
ViewData["hdnFlag"] = userId;
return View();
Jetzt in deiner Ansicht.
@{
var localVar = ViewData["hdnFlag"]
}
<input type="hidden" asp-for="@localVar" />
Hoffe das wird helfen ...