2015-09-15 4 views
0

У меня есть модель с OtherCountries как список. Перед каждую страну мне нужно поставить флажок:Получить значение CheckBox в цикле foreach

@foreach (string country in Model.OtherCountries) 
    { 
     <div class="form-group"> 
      <div class="col-md-2 control-label"> 
       @Translations.Text 
      </div> 
       <div class="col-md-10"> 
       <div class="col-md-1"> 
        <label> 
         <input type="checkbox" name="checkboxCountry" id="checkboxCountry" value="true"/> 
        </label> 
       </div> 
       <div class="col-md-11"> 
       <textarea name="@(Html.NameFor(m => m.OtherCountries))" class="form-control textarea-resize" rows="5">@country</textarea> 
       </div> 
      </div> 
     </div> 
    } 

С кнопкой отправки я могу отправить модель к контроллеру, но моя проблема в том, что я не знаю, которым Флажок принадлежит Wich страны? У каждой страны есть флажок перед ним, но если я хочу, например, удалить страну из списка, я должен сделать это на основании этого флажка.

+0

Создайте модель для просмотра с необходимой информацией, сделайте это легко для вас. – dansasu11

ответ

0

Хорошо, что вам нужно, чтобы создать вид модели для этого случая, в том виде модели вы можете добавить поля с названиями стран, как:

public [datatype] USA {get; set;} 

Название Вид модели может быть: public class CountriesViewModel

Теперь, когда вы заселить ваш взгляд, вы можете добавить эти имена для флажков поэтому, когда вы посылаете информацию обратно к контроллеру вы можете сделать это на ваш взгляд:

@foreach (string country in Model.OtherCountries) 
{ 
    <div class="form-group"> 
     <div class="col-md-2 control-label"> 
      @Translations.Text 
     </div> 
      <div class="col-md-10"> 
      <div class="col-md-1"> 
       <label> 
        <input type="checkbox" name="@country" /> 
       </label> 
      </div> 
      <div class="col-md-11"> 
      <textarea name="@(Html.NameFor(m => m.OtherCountries))" class="form-control textarea-resize" rows="5">@country</textarea> 
      </div> 
     </div> 
    </div> 
} 

Тогда вы можете ожидать в контроллере этот:

public ActionResult CountriesController(CountriesViewModel contries) 
{ 
} 
0

Вы должны создать модель, чтобы обернуть название страны и логическое значение, выбранное и заменить список строк OtherCountries списка этой новой модели. С этого момента просто привяжите значение флажка с выбранным свойством каждой страны и именем с меткой, поэтому в контроллере после нажатия кнопки «Отправить» вы получите нужную вам информацию.