Holen Sie sich den Wert von deaktiviert Dropdown in asp.net mvc
Habe ich eine ASP.NET MVC-Anwendung. Ich habe mehrere drop-down-Liste in meine Seite (HTML SELECT), ich habe Sie deaktiviert werden können, als user geht auf ausgewählten Sie eins nach dem anderen. Wenn der Benutzer sendet Sie zurück an den controller, ich bin immer null, da die Funktion (action-Methode) Parameter. Ich suchte und fand, dass HTML nicht senden Wert deaktivierte Felder in der Formular-Daten. Ersetzen disabled-Attribut mit readonly wäre nicht so funktionieren, wie Sie es machen würde drop-down arbeiten.
Ich bin die Generierung der Dropdown-Listen dynamisch mit javascript als user geht auf. So gibt es nicht einen einzigen dropdown, sondern so viele, wie Benutzer will.
Kann mir bitte jemand sagen wie soll ich das Werten ?
InformationsquelleAutor der Frage Brij | 2012-07-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Eine Möglichkeit ist, um die dropdown-Liste
disabled="disabled"
und beinhalten ein verstecktes Feld mit dem gleichen Namen und Wert, die es ermöglichen werden, schicken Sie diesen Wert an den server:Wenn Sie deaktiviert die dropdown dynamisch mit javascript dann weisen Sie einfach den aktuell ausgewählten Wert aus der dropdown-Liste das versteckte Feld nur nach dem deaktivieren es.
InformationsquelleAutor der Antwort Darin Dimitrov
Dies ist das Standardverhalten der Steuerelemente deaktiviert. Ich schlage vor, Sie fügen Sie ein verstecktes Feld ein und setze den Wert Ihrer DropDownList in das versteckte Feld und mit diesem arbeiten.
Etwas wie:
InformationsquelleAutor der Antwort Felipe Oriani
Könnten Sie auch Ihre eigenen erstellen DropDownListFor überlast akzeptiert
bool disabled
parameter und tut das schwere anheben für Sie, damit Ihre Sicht nicht überladen mitif disablethisfield then ...
.Etwas unter diesen Zeilen tun konnte:
Gibt es 6 überladungen für DropDownListFor allein es ist also eine Menge von monkeycoding aber es zahlt sich aus am Ende imho.
InformationsquelleAutor der Antwort Peter
bevor Sie Einreichen, rufen Sie $('#FooId').removeAttr('disabled')
InformationsquelleAutor der Antwort raza