2011-03-05 6 views
3

Comment puis-je m'assurer qu'une liste de boutons radio a la première option sélectionnée? Si elle est basée sur la propriété du modèle, comment est-ce défini si c'est la première page affichée au démarrage de l'application?Radiobuttonlist par défaut dans ASP.NET MVC Razor

Ceci est facile dans les formes webform mais je ne sais pas comment faire cela dans MVC et il ne semble pas y avoir quelque part sur le NET qui montre comment cela est fait.

Cela ne semble pas fonctionner:

@Html.RadioButtonFor(m => m.SearchType, true) Location 
@Html.RadioButtonFor(m => m.SearchType, false) Name 

-je obtenir les deux boutons radio ?? désélectionné

Répondre

12
@Html.RadioButtonFor(x => x.Something, "radioValue", new { @checked = true }) 
5
@Html.RadioButtonFor(x => x.Something, "radioValue", new { @checked = "checked"}) 

ou si vous liez à partir du modèle puis

@Html.RadioButtonFor(x => x.Something, "radioValue", new { @checked = Model.checked}) 

si nous essayons quelque chose comme ça où x.checked lie de la base de données. indépendamment de vrai ou faux. le dernier bouton radio de la liste est coché, le reste n'est pas coché. Comment pouvons-nous lier la liste des boutons radio de la base de données et la faire fonctionner correctement?

+0

Vous ne pouvez pas appeler 'x' de l'extérieur de l'expression LINQ. – CalMlynarczyk

+0

mes excuses il supposé être Modèle – HaBo

+0

@Habo votre problème sera résolu en utilisant la syntaxe comme dans la réponse GeorgeMR ci-dessous. –

3

C'était ma solution:

@Html.RadioButtonFor(model => model.Coin , "Dollar", Model.Coin == "$" ? (new { @checked = "checked" }) : null) 
@Html.RadioButtonFor(model => model.Coin , "Euro", Model.Coin == "E" ? (new { @checked = "checked" }) : null) 
+1

Toute raison ou explication alimentera votre réponse. –