【问题标题】:ASP.NET MVC2 : How to use radiobuttons in a grid?ASP.NET MVC2:如何在网格中使用单选按钮?
【发布时间】:2010-09-23 03:52:55
【问题描述】:

再问一个关于 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);
        }

我在视图中有以下代码:

<% 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>
<% } %>

问题是没有选中单选按钮,尽管它们有一个级别。

这里有什么问题?

【问题讨论】:

    标签: asp.net asp.net-mvc-2 radio-button


    【解决方案1】:

    部分视图foreach循环中的代码应该是

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

    【讨论】:

      【解决方案2】:

      你必须指定单选按钮是否被选中:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-12-31
        • 2011-12-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-12-19
        相关资源
        最近更新 更多