2013-11-02 3 views
1

У меня сложная задача создания динамических переключателей.Как создать динамические переключатели в mvc-бритве

Теория у вас есть категории, и эти категории имеют предметы. Категории динамичны, а также их элементы.

В моей модели у меня есть ...

общественные IList> ItemCategories {получить; задавать; }

но я не уверен, что это правильный способ создания кнопки radioFor?

help?

Моя первоначальная идея была ...

// Model

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>    

ответ

2

попробовать этот

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

} 

здесь Текст текст для радиообъектива.

+0

Привет, если переключатель находится внутри таблицы и динамически добавлен, как обеспечить его отправку в форме POST. Я следил за вашим образцом, который работает. Но, если я клонирую строку и добавляю в таблицу, и сгенерирую идентификатор, он не может POST false или true для динамически добавленных vals – transformer

+0

@transformer: Извините за поздний ответ, причина этого в том, что вы добавляете новый элемент управления его индексы должны быть в последовательности. Например: 'model.DynamicCategories [0], model.DynamicCategories [1]' и т. Д. Когда вы исправите последовательность, вы начнете получать ответы. –

+0

Любите свой аватар! Кстати, вы можете показать мне, как это сделать в динамически добавленных/добавленных строках – transformer

Смежные вопросы