2010-04-24 7 views
0

Encore une fois une question sur RadioButtons/RadioButtonListASP.NET MVC2: Comment utiliser les radiobuttons dans une grille?

Je suis le suivant Modèle:

public class SkillLevelModel 
    { 
     public long? Id { get; set; } 
     public int? SelectedLevel { get; set;} 
    } 

J'ai les suivantes Controller:

public class SkillController : BaseController 
    { 
     public ActionResult Index() 
     { 
      var skills = new List<SkillLevelModel>(); 

      for (int i = 0; i < 10; i++) 
       skills.Add(new SkillLevelModel() { Id = i, SelectedLevel = new Random().Next(0,5) }); 

      return View(skills); 
     } 

J'ai les suivantes code dans le Voir:

<% foreach (var item in Model) { %> 
    <tr> 
     <td style="width: 30px" align="center"> 
      <%= Html.Encode(item.Id) %> 
     </td> 
     <td> 
      <% Html.RenderPartial("UCSkillLevel", item); %> 
     </td> 
    </tr> 
    <% } %> 

J'ai le code suivant dans le PartialView:

<% for (int i = 0; i <= 5; i++) { %> 
    <td align="center"> 
     <%= Html.RadioButton("SelectedLevel", i, new { id = Model.Id + "_" + i })%> 
    </td> 
<% } %> 

Le problème est que pas RadioButton est cochée, ils ont althought un niveau.

Quel est le problème ici?

Répondre

0

Vous devez spécifier si le bouton radio est sélectionné:

Html.RadioButton("SelectedLevel", i, i == (Model.SelectedLevel ?? -1), new { id = Model.Id + "_" + i }) 
1

code dans la boucle foreach vue partielle devrait être

<%= Html.RadioButton("SelectedLevel_" + Model.Id, i, Model.SelectedLevel == i) %>