2013-11-02 4 views
1

동적 라디오 버튼을 만들 필요가 있습니다.mvc 면도기에서 동적 라디오 버튼을 만드는 방법

이론에는 범주가 있으며이 범주에는 항목이 있습니다. 카테고리는 동적이며 항목도 마찬가지입니다.

내 모델에는 ...

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>    

답변

2

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

} 

여기 텍스트는 라디오 버튼 텍스트입니다.

+0

안녕하세요, 라디오 버튼이 테이블 안에 있고 동적으로 추가 된 경우, 양식 POST에 제출되었는지 확인하는 방법. 나는 당신의 견본을 따라 갔다. 하지만 행을 복제하고 표에 추가하고 ID를 생성하면 POST에 실패하거나 동적으로 추가 된 VAL에 대해 true가됩니다. – transformer

+0

@transformer : 늦게 답장을 보내 드려 죄송합니다. 그 이유는 새 컨트롤을 추가 할 때입니다. 색인은 순서대로 있어야합니다. 예 :'model.DynamicCategories [0], model.DynamicCategories [1]'등 시퀀스를 수정하면 응답을 받기 시작합니다. –

+0

아바타를 사랑해 라! BTW는 동적으로 추가/추가 된 행에서 어떻게 수행하는지 보여 줄 수 있습니까? – transformer

관련 문제