Ich versuche asp.net mvc für ein neues Projekt, und ich lief über etwas seltsam. Wenn ich die MVC-UI-Helfer für Textfelder verwende, bleiben die Werte zwischen den Anrufen erhalten. Aber wenn ich eine Reihe von Optionsfeldern verwende, bleibt der Status nicht erhalten.asp.net mvc radio button state
Hier ist ein Beispiel aus meiner Sicht.
Wenn das Formular zurückgebucht wird, baue ich ein Objekt mit "ProviderType" als eine seiner Eigenschaften. Der Wert für das Objekt wird festgelegt, und dann I RedirectToAction mit dem Anbieter als Argument. Alles ist gut, und ich lande bei einer URL wie "http://localhost/Provider/List?ProviderType=1" mit ProviderType zeigt. Der Wert wird für die URL beibehalten, aber der UI-Helfer hebt den aktivierten Status nicht auf.
Ich habe dieses Problem mit Listbox,
Dropdown-Liste
und Radiobutton. Textboxen nehmen die Werte gut auf. Siehst du etwas, was ich falsch mache? Ich gehe davon aus, dass die Helfer das für mich tun werden, aber vielleicht muss ich mich alleine darum kümmern. Ich fühle mich gerade so durch, so dass dein Input geschätzt wird.
Bearbeiten: Ich habe gerade die Überschreibung für den Konstruktor SelectList gefunden, die einen ausgewählten Wert nimmt. Das hat mein Dropdown-Problem, das ich oben erwähnt habe, gekürzt.
Bearbeiten # 2: Ich fand etwas, das funktioniert, aber es schmerzt mich, es so zu machen. Ich habe das Gefühl, dass dies gefolgert werden sollte.
<li>
<%=Html.RadioButton("ProviderType","1",Request["ProviderType"]=="1")%><label>Hospital</label>
<%=Html.RadioButton("ProviderType", "2", Request["ProviderType"] == "2")%><label>Facility</label>
<%=Html.RadioButton("ProviderType", "3", Request["ProviderType"] == "3")%><label>Physician</label>
</li>
Hoffentlich wird jemand mit einem anderen Weg kommen.
Ich habe seit der offiziellen Veröffentlichung keine Probleme mehr gesehen. Es könnte etwas mit den Betas sein oder etwas, was ich falsch gemacht habe. Trotzdem denke ich, dass diese Frage nicht mehr relevant ist. –