it-swarm.com.de

So legen Sie den Wert eines ausgeblendeten Felds von einem Controller in mvc fest

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

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

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

Ohne Ansichtsmodell können Sie eine einfache, versteckte HTML-Eingabe verwenden.

<input type="hidden" name="FullName" id="FullName" value="@ViewBag.FullName" />
5
mokumaxCraig

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.

5
sandeep modi

Bitte versuchen Sie es auf folgende Weise.

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

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

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

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

0
Ashwini Gupta