web-dev-qa-db-fra.com

Comment définir la valeur d'un champ caché à partir d'un contrôleur dans mvc

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>
10
user2156088

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();
12
Krunal Solanki

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" })
12
Darin Dimitrov

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" />
5
mokumaxCraig

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.

5
sandeep modi

S'il vous plaît essayez d'utiliser la manière suivante.

@Html.Hidden("hdnFlag",(object) Convert.ToInt32(ViewBag.page_Count))
2
RajeshVerma

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})
2
Snziv Gupta

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)
0
CyberNinja

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 ...

0
Ashwini Gupta