Je souhaite définir la valeur d'un champ masqué à partir d'un contrôleur. Comment puis-je faire cela?
En vue de la partie, j'ai donné comme ça ..
<div>
@Html.Hidden("hdnFlag", null, new { @id = "hdnFlag" })
</div>
S'il vous plaît trouver le code pour la région respectée.
Manette
ViewBag.hdnFlag= Session["hdnFlag"];
Vue
<input type="hidden" value="@ViewBag.hdnFlag" id="hdnFlag" />
JavaScript
var hdnFlagVal = $("#hdnFlag").val();
Vous pouvez définir la valeur correspondante dans le ViewData/ViewBag
:
ViewData["hdnFlag"] = "some value";
Mais une bien meilleure approche consiste bien entendu à utiliser un modèle de vue:
model.hdnFlag = "some value";
return View(model);
et utilisez un assistant fortement typé à votre avis:
@Html.HiddenFor(x => x.hdnFlag, new { id = "hdnFlag" })
Sans modèle de vue, vous pouvez utiliser une simple entrée masquée HTML.
<input type="hidden" name="FullName" id="FullName" value="@ViewBag.FullName" />
Vous devez écrire le code suivant sur le contrôleur Suppose que test est un modèle et que Nom, adresse sont des champs de ce modèle.
public ActionResult MyMethod()
{
Test test=new Test();
var test.Name="John";
return View(test);
}
maintenant, utilisez comme ceci sur votre vue pour définir la valeur de la variable masquée.
@model YourApplicationName.Model.Test
@Html.HiddenFor(m=>m.Name,new{id="hdnFlag"})
Cela définira automatiquement la valeur cachée = john.
S'il vous plaît essayez d'utiliser la manière suivante.
@Html.Hidden("hdnFlag",(object) Convert.ToInt32(ViewBag.page_Count))
si vous n'utilisez pas le modèle selon votre question, vous pouvez le faire comme ceci
@Html.HiddenFor("hdnFlag" , new {id = "hdnFlag", value = "hdnFlag_value" })
sinon si vous utilisez le modèle (en considérant que le modèle passe a la propriété hdnFlag), vous pouvez utiliser cette approche
@Html.HiddenFor(model => model.hdnFlag, new { value = Model.hdnFlag})
Si vous envisagez de réutiliser la valeur comme un identifiant ou si vous souhaitez simplement la conserver, vous pouvez ajouter un "nouveau {id = 'désiréID/valeur'}) comme paramètres pour pouvoir accéder à la valeur via jquery/javascript
@Html.HiddenFor(model => model.Car_id)
Vous pouvez transférer une valeur du contrôleur en utilisant ViewData[""]
.
ViewData["hdnFlag"] = userId;
return View();
Maintenant, dans vous voir.
@{
var localVar = ViewData["hdnFlag"]
}
<input type="hidden" asp-for="@localVar" />
J'espère que cela aidera ...