Übergabe Wert von Controller zu View in MVC
Habe ich eine Ansicht, die generiert wurde, mithilfe von Daten Gerüst. Die Ansicht hat, ein textfield:
Ansicht Erstellen:
<div class="form-group">
@Html.LabelFor(model => model.GroupId, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.GroupId, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.GroupId, "", new { @class = "text-danger" })
</div>
</div>
Möchte ich einen Wert übergeben von einer Steuerung an das textfield. Und ich habe die folgenden, die scheint nicht zu funktionieren.
Controller:
public ActionResult Create(int id)
{
ViewBag.GroupId = id;
Debug.WriteLine("DEBUG: "+id);
return View();
}
Ihre
ViewBag
ist nicht Ihre model
können Sie nicht nur interchange. Wenn Sie Ihre ViewBag.GroupId
in Ihren anzeigen, erhalten Sie den Wert. Wenn Sie brauchen ein Modell, sollten Sie pass, die in Ihre Ansicht.InformationsquelleAutor Gisiota | 2015-09-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Könnten Sie tun dies, indem Sie die
ViewBag
zu speichernGroupId
wie Sie derzeit sind, aber als Ihr Blick wird mit Hilfe eines Modells, kann es besser sein, diesen Weg zu gehen, statt.So müssten Sie:
Modell:
Controller:
Oben Ihre Ansicht, Sie würden dann verweisen Sie Ihre Modell:
Kann dann auf das Modell in der Ansicht mit code wie
model.GroupId
als pro das Gerüst getan hat.InformationsquelleAutor Stuart L
Eine weitere Sache, die hinzuweisen ist, dass, wenn Sie übergeben werden, eine Schlüssel-Wert, der gespeichert ist, in das web.config-Datei, sagen wir für reCAPTCHA, und die Validierung fehlschlägt, dann müssen Sie auch den Schlüssel-Wert in der HttpPost-Abschnitt.
InformationsquelleAutor J Weezy