2012-05-08 3 views
0

У меня есть полный список кодов и их описаний, 24 записей в БДКак получить значения CheckBox вернуться к VIEW

я избранная из БД с помощью хранимых Proc, и выход этого к VIEW() ,

Пользователь нажимает на эти флажки, сколько пожелает, и отправляется в БД в другую таблицу пользователей.

Я просматриваю эту таблицу пользователей, чтобы получить данные, которые он проверил. Скажем, из 24 он проверяет 10 флажков.

Я хочу, чтобы иметь возможность выводить все флажки с соответствующими полями, которые были проверены пользователем. У меня есть данные, где ВСЕ флажки находятся в списке, сидящем в VIEWBAG. и у меня также есть таблица пользователей, которая содержит данные, которые он проверил также в отдельном списке, в VIEWBAG, чтобы я мог получить доступ к этому в VIEW.

Как я могу выводить ВСЕ флажки, но также проверять флажки, которые были нажаты пользователем с помощью VIEWBAG, переданного с контроллера?

Приведенный ниже код просто включает все данные и выводит ВСЕ флажки. Мне нужно, чтобы убедиться, что те, в новом VIEWBAG.USER используется для проверки соответствующих графов ниже:

@foreach (var item in ViewBag.Expertise) 
    { 
     l_count = l_count + 1; 
     l_code = l_code + 1; 

     if (l_count == 1) 
     {               
      <td class="tdcheckbox"> 
       <input type="checkbox" name="[email protected](l_code)" value="@item.expertiseCode" /> 
       <b>@item.expertiseDesc</b> 
      </td> 
      else if (l_count < 3) 
      {  
       <td class="tdcheckbox"> 
        <input type="checkbox" name="[email protected](l_code)" value="@item.expertiseCode" /> 
        <b>@item.expertiseDesc</b> 
       </td> 
      } 
      else if (l_count == 3) 
      {   
       <td class="tdcheckbox"> 
        <input type="checkbox" name="[email protected](l_code)" value="@item.expertiseCode" /> 
        <b>@item.expertiseDesc</b> 
       </td>                
      } 
      else if (l_count % 2 == 0 && l_count == 4) 
      {   
       <td class="tdcheckbox"> 
        <input type="checkbox" name="[email protected](l_code)" value="@item.expertiseCode" /> 
        <b>@item.expertiseDesc</b> 

       @if (@item.expertiseCode == "OTHER") 
       { 
        @Html.TextBox("@item.otherExpertise") 
        <br /><font color="red">Comma separate specific expertise</font> 
       } 
       </td> 

       @:<tr></tr> 
       l_count = 0; 

ответ

0

Если я понимаю вас вопрос правильно, вы можете сделать следующее.

положить это в верхней части вашего зрения

@{var ids = (List<int>)ViewBag.USERS); 

Тогда когда ваш цикл через все флажки, вы можете сделать следующее.

if (ids != null && ids.Contains(item.expertiseCode)) 
{ 
    <input type="checkbox" name="[email protected](l_code)" value="@item.expertiseCode" checked /> 
} 
else 
{ 
    <input type="checkbox" name="[email protected](l_code)" value="@item.expertiseCode" /> 
} 
Смежные вопросы