Das anbringen einer versteckten Textfeld zu einem Formular MVC
Sehr gut kann am Ende als eine sehr dumme Frage, aber im Grunde habe ich dieses "Formular" in einem Modell, das wird an meinem Blick, als die form, aber ich habe nicht in der Lage pass eigentlich alle Daten, die es tun, aus dem Blick. Es hat nur zwei Eigenschaften: eine Id-Eigenschaft und die String-Eigenschaft. Ich habe versucht, das füllen der String-Eigenschaft mit text aus einem versteckten Textfeld auf der Seite mit kein Glück.
Formular-code:
public class AllocateListForm
{
public int Id { get; set; }
public virtual string HiddenText { get; set; }
}
Relevanten Anzeigen-code:
<% using (Html.BeginForm("SaveExit", "User", new { }, FormMethod.Post, new { id = "selectExitPoints" })) { %>
<fieldset>
<input type="hidden" id="HiddenText" />
</fieldset>
<% } %>
Es ist JQuery-hinter den kulissen, füllt HiddenText
mit text, und ich kann Ihnen versichern, dass es sich füllt. Es ist auch JQuery-hinter den kulissen führt, dass ein Ajax-Vorlage und ich kann dir Versprechen, dass der code funktioniert, so wie es an anderer Stelle in der Anwendung, ohne ein problem. Wenn ich ausführen der Aktion, die das Formular sendet an den server und gehe auf mein controller-code, der diese Punkte zu, ich habe einen Haltepunkt gesetzt, so kann ich gehen in die Konsole und überprüfen Sie, ob die HiddenText Feld auf dem Formular hat alle Daten null ist. Kann jemand mich in die richtige Richtung?
InformationsquelleAutor Jfabs | 2013-05-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ordnen Sie den Eingang den Namen "HiddenText" der binder Modell sollte es abholen. Ich gehe davon aus, dass Ihre controller-Aktion nimmt eine
AllocateListForm
als parameter.Können Sie auch Html-Helfer wie so:
BEARBEITEN: Hinzufügen eines AllocateListForm als eine Eigenschaft der Haupt-Modell und ändern Sie dann die Helfer zu
@Html.HiddenFor(model => model.MyAllocateListForm.HiddenText)
public JsonResult SaveExit(AllocateListForm exitListForm)
so in der console ich war die überprüfung? exitListForm.HiddenText
. Allerdings kann ich nicht verwenden, eine HTML-Hilfe, da mein Modell nicht über eine Eigenschaft für HiddenText, nur die form stimmt.Ist Ihre Sicht stark typisiert, um ein anderes Modell? Klingt wie Sie sollte, erstellen Sie eine viewmodel zugreifen können form-Eigenschaften einfacher.
Es ist stark typisiert, um ein anderes Modell, ich glaube, ich war gerade auf der Suche nach der einfachste Weg, dies zu tun. Diese Seite ist sehr einfach, nur es zeigt dem Benutzer eine Liste von Checkboxen und ermöglicht es Ihnen zu überprüfen, und deaktivieren Sie aus der Liste, dann das versteckte Feld ist gefüllt mit Ihrer Auswahl(en) übergeben werden, werden in den controller.
So fügen Sie ein
AllocateListForm
als eine Eigenschaft der Haupt-Modell und ändern Sie dann die Helfer zu@Html.HiddenFor(model => model.MyAllocateListForm.HiddenText)
Ahhhhh, ich werde geben, dass ein zu gehen. Wäre das das gleiche wie " <%= Html.HiddenFor(x => x.Form.HiddenText, new { @id = "HiddenText" })%>?
InformationsquelleAutor Mansfield
Dies sollte den trick tun, wenn Sie es tun möchten die Gestochen Weg.
Also, wenn ich Schreibe " @Html.HiddenFor(model => Modell.RegUserID, new { id = "HiddenText" }) " wie würde ich den Wert für das Modell.RegUserID?
InformationsquelleAutor vdwijngaert