Wie erstelle ich dynamische Optionsfelder in mvc razor?

Ich habe ein komplexes Bedürfnis, dynamische Optionsfelder zu erstellen.

Die Theorie ist, dass Sie Kategorien haben und diese Kategorien Gegenstände haben. Die Kategorien sind dynamisch, genau wie ihre Elemente.

In meinem Modell habe ich ...

public IList> ItemCategories {get; einstellen; }

aber ich bin mir nicht sicher, ob dies der richtige weg ist, um den radioFor button zu erstellen?

Hilfe?

Meine ursprüngliche Idee war ...

//Modell

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

//Editor

@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>              

Antworten auf die Frage(1)

Ihre Antwort auf die Frage