mvc-bind/post boolean zu radiobutton
Ich habe eine Spalte in meinem Modell mit einem NULLABLE boolean-Wert. Jetzt auf meiner Sicht (zum Bearbeiten), ich würde gerne binden, die zu zwei radiobuttons: ja & Nein. Wenn der Wert null ist, dann nur noch die zwei radiobutton-un-geprüft. Wie würde ich gehen, das zu tun?
Dank.
InformationsquelleAutor Xuan Vu | 2010-05-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sobald Sie einen radio-button, es gibt wirklich keine Möglichkeit, deaktivieren Sie (als Benutzer). Ich würde vorschlagen, dass, wenn Sie wirklich brauchen, eine drei-wertige Folge, dass Sie drei radio-buttons-ja, Nein, egal.
Ich kam mit der gleichen Lösung, aber irgendwie, wenn
Foo
istnull
dieDon't care
radio ist nicht geprüft...Irgendwelche Ideen, warum?Ich bin mir nicht sicher. Es verwendet Konvertieren.ToString() auf dem Modell-Eigenschaft (und den Wert). Wenn die
bool?
null ist, sollte konvertierenstring.Empty
und der button sollte aktiviert sein.Yeap. das ist es nicht. Ich habe eine Bedingung, die prüft, ob der Wert null ist und in einem solchen Fall gilt html-Attribut checked="checked" um die Letzte radio-button. Es funktioniert nicht, sonst...
Obwohl dies ermöglichen die Auswahl von einem neuen Wert
RadioButtonFor()
nicht wählen Sie aktuelle Werte aus der gebundenen variable. Es braucht diechecked
Attribut bedingt. Aus diesem Grund ist es nicht werden die akzeptierte Antwort. Sorry.InformationsquelleAutor tvanfosson
Die Verwendung von mehreren Html.RadioButtonFor (m => m ist.Foo, "true") scheint zu generieren ungültigen HTML-Codes, denn es erzeugt Kontrollen mit identischen IDs:
Habe ich dies Problem gelöst, indem Sie die radio-buttons direkt im html-Format:
stellen Sie sicher, um den Namen der radio-buttons nach dem viewmodel verwendet, z.B.: Modell.Filter.HasImage ist mit dem Namen: Filter.HasImage arbeiten mit Modell-Bindung
Den "html-helper" sieht so aus:
InformationsquelleAutor Henrik Stenbæk
Kann ich in diesem Beitrag spät, aber hier ist meine Lösung, die Griffe, die setzen der Werte. Diese verwendet ein template-Editor. Sie müssen angeben, dass das Editor-template-name. Ich rief mir 'NullableBool'
InformationsquelleAutor user1971084
Dies ist ein Rasiermesser Lösung für das problem. Dies ist eine sehr alte ASP-Frage.
Das problem ist, dass Sie brauchen, um die
checked
- Attribut, weil dieHtml.RadioButtonFor
wird nicht überprüft, radio button, basierend auf einem nullable bool (die offenbar zu einem Fehler).Auch, indem Sie die radio-buttons innerhalb des label-tag, können Sie den Wert auswählen, indem Sie auf das label.
Shared/EditorTemplates/Boolean.cshtml
InformationsquelleAutor Canvas