如何在mvc razor中创建动态单选按钮

时间:2013-11-02 15:51:14

标签: asp.net-mvc asp.net-mvc-4 razor

我需要创建动态单选按钮。

理论上你有类别,这些类别都有项目。 这些类别是动态的,他们的项目也是如此。

在我的模特中我有......

public IList> ItemCategories {get;组; }

但我不确定这是否是创建radioFor按钮的正确方法?

帮助?

我最初的想法是......

//模型

public IList<Category> DynamicCategories { get; set; }

public IList<long> DynamicCategoryItems { get; set; }

// HTML

@for (int i = 0; i < Model.DynamicCategories.Count; i++)
{
      @Html.EditorFor(model => model.DynamicCategories[i], "DynamicCategories", new { Index = i, IsHidden = false })
}

//编辑

@model Category
@{
    Entities.Category rowModel = new Entities.Category();
    int count = ViewBag.Index == null ? 0 : (int)ViewBag.Index;
}

<h3>@Model.Name</h3>
<div class="options">
    @foreach (CategoryItem item in Model.CategoryItems.Where(x => x.Enabled))
    {
        <div class="option" data-search-text="@item.Name">
            @item.Name 
            <input type="radio" name="DynamicCategoryItems[@count]" value="@item.Id" @(item.Selected ? "checked" : "")/>
        </div>            
    }
    <div class="clear"></div>
</div>              

1 个答案:

答案 0 :(得分:2)

试试这个

for (int i = 0; i < Model.DynamicCategories.Count; i++)
{
    @Html.RadioButtonFor(model => model.DynamicCategories[i],model => model.DynamicCategoryItems[i]) @:Text

}

此处文本是radiobutton的文本。