MVC 5 RadioButtonFor enum, la valeur enum par défaut zéro est toujours sélectionnée?
Dire que j'ai un enum:
public enum OrderStatusType
{
Waiting = 0,
Pending,
Picked,
Shipped,
}
J'ai généré le bouton radio liste comme suit.
@Html.RadioButtonFor(m => m.Status, OrderStatusType.Shipped, new {@checked = true})
@Html.RadioButtonFor(m => m.Status, OrderStatusType.Waiting)
Mais l'Attente est toujours sélectionné. La sortie HTML est comme ci-dessous:
input type="radio" value="Shipped" name="Status" id="Status" checked="True"
input type="radio" value="Waiting" name="Status" id="Status" checked="checked"
Pourquoi est un "extrait" de l'attribut ajouté automatiquement par le framework MVC?
Merci.
Le modèle:
public class OrderViewModel
{
public OrderStatusType Status { get; set; }
}
La vue:
@using WebApplication17.Controllers
@model WebApplication17.Models.OrderViewModel
@{
ViewBag.Title = "Home Page";
}
@Html.RadioButtonFor(m => m.Status, OrderStatusType.Picked)
<span>@OrderStatusType.Picked</span>
@Html.RadioButtonFor(m=>m.Status, OrderStatusType.Pending)
<span>@OrderStatusType.Pending</span>
@Html.RadioButtonFor(m => m.Status, OrderStatusType.Shipped, new {@checked = true})
<span>@OrderStatusType.Shipped</span>
@Html.RadioButtonFor(m => m.Status, OrderStatusType.Waiting)
<span>@OrderStatusType.Waiting</span>
source d'informationauteur thermostat
Vous devez vous connecter pour publier un commentaire.
Sa choisie, car la valeur de votre propriété
Status
estOrderStausType.Waiting
(c'est la liaison fonctionne!).Supprimer
new {@checked = true}
de la@Html.RadioButtonFor()
méthode et dans votre contrôleur, définissez la valeur deStatus
àOrderStausType.Shipped
avant de vous passer à la vue.Notez également que vous devez utiliser un
<label>
élément plutôt qu'un<span>
d'associer l'étiquette avec le bouton radio