wake-up-neo.com

MVC-Rasierer-Optionsfeld

In Teilansicht Ich arbeite mit solchen Textfeldern.

@model Dictionary<string, string>
@Html.TextBox("XYZ", @Model["XYZ"])

Wie kann ich Radiobuttons generieren und den gewünschten Wert in der Formularsammlung als JA/NEIN (Wahr/Falsch) erhalten? Momentan bekomme ich Null für "ABC", wenn ich einen Wert für den unten stehenden Wert auswähle.

   <label>@Html.RadioButton("ABC", @Model["ABC"])Yes</label>
   <label>@Html.RadioButton("ABC", @Model["ABC"])No</label>

Controller

        public int Create(int Id, Dictionary<string, string> formValues)
        {
         //Something Something
        }
50
Nanu

Um dies für mehrere Artikel zu tun, machen Sie etwas wie:

foreach (var item in Model)
{
    @Html.RadioButtonFor(m => m.item, "Yes") @:Yes
    @Html.RadioButtonFor(m => m.item, "No") @:No
}
62
mattytommo

Einfach :

   <label>@Html.RadioButton("ABC", True)Yes</label>
   <label>@Html.RadioButton("ABC", False)No</label>

Sie sollten jedoch immer ein stark typisiertes Modell verwenden, wie von Cacho vorgeschlagen.

23
Kuqd

Ich löse das gleiche Problem mit this SO.

Im Grunde bindet es den Radioknopf an eine boolesche Eigenschaft eines stark typisierten Modells.

@Html.RadioButton("blah", !Model.blah) Yes 
@Html.RadioButton("blah", Model.blah) No 

Ich hoffe es hilft!

13
Cacho Santa

Ich habe das auf eine Art gemacht wie:

  @Html.RadioButtonFor(model => model.Gender, "M", false)@Html.Label("Male")
  @Html.RadioButtonFor(model => model.Gender, "F", false)@Html.Label("Female")
12
Anjan Kant
<label>@Html.RadioButton("ABC", "YES")Yes</label>
<label>@Html.RadioButton("ABC", "NO")No</label>
8
Nanu
<p>@Html.RadioButtonFor(x => x.type, "Item1")Item1</p>
<p>@Html.RadioButtonFor(x => x.type, "Item2")Item2</p>
<p>@Html.RadioButtonFor(x => x.type, "Item3")Item3</p>
2
Buhlebesizwe
<div class="col-md-10">
    Male:   @Html.RadioButton("Gender", "Male")
    Female: @Html.RadioButton("Gender", "Female")
</div>                         
1
Debendra Dash

MVC5 Rasiereransichten 

Im folgenden Beispiel werden Beschriftungen auch Optionsfeldern zugeordnet (Radioknöpfe werden ausgewählt, wenn Sie auf die entsprechende Beschriftung klicken.)

// replace "Yes", "No" --> with, true, false if needed
@Html.RadioButtonFor(m => m.Compatible, "Yes", new { id = "compatible" })
@Html.Label("compatible", "Compatible")

@Html.RadioButtonFor(m => m.Compatible, "No", new { id = "notcompatible" })
@Html.Label("notcompatible", "Not Compatible")
1
Prasad De Silva

Das funktioniert für mich.

@{ var dic = new Dictionary<string, string>() { { "checked", "" } }; }
@Html.RadioButtonFor(_ => _.BoolProperty, true, (@Model.BoolProperty)? dic: null) Yes
@Html.RadioButtonFor(_ => _.BoolProperty, false, ([email protected])? dic: null) No
1
jayson.centeno

Ich wollte eine Möglichkeit teilen, den Radioknopf (und das gesamte HTML-Formular) ohne den @ Html.RadioButtonFor-Helfer zu verwenden, obwohl @ Html.RadioButtonFor wahrscheinlich der bessere und neuere Weg ist (zum einen ist er stark typisiert) ist eng mit theModelProperty verbunden). Trotzdem ist dies ein altmodischer, anderer Weg, wie Sie es tun können:

    <form asp-action="myActionMethod" method="post">
        <h3>Do you like pizza?</h3>
        <div class="checkbox">
            <label>
                <input asp-for="likesPizza"/> Yes
            </label>
        </div>
    </form>

Dieser Code kann in eine myView.cshtml-Datei gehen und verwendet auch Klassen, um die Optionsfelder (Kontrollkästchen) zu formatieren.

0
user5138047