ASP.NET MVC2: как использовать радиокнопки в сетке? - PullRequest
0 голосов
/ 24 апреля 2010

Опять вопрос про RadioButtons / RadioButtonList

У меня есть следующее Модель :

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

У меня есть следующий Контроллер :

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);
        }

У меня есть следующий код в View :

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

У меня есть следующий код в PartialView :

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

Проблема в том, что никакая кнопка не проверяется, хотя у них есть уровень.

Что здесь не так?

Ответы [ 2 ]

1 голос
/ 26 апреля 2010

Код в цикле foreach для частичного просмотра должен быть

<%= Html.RadioButton("SelectedLevel_" + Model.Id, i, Model.SelectedLevel == i) %>
0 голосов
/ 25 апреля 2010

Вы должны указать, выбрана ли радиокнопка:

Html.RadioButton("SelectedLevel", i, i == (Model.SelectedLevel ?? -1), new { id = Model.Id + "_" + i })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...