ErBhati Ответов: 3

как установить значение флажка checked from controller в mvc


Привет,
У меня есть html-таблица в моем представлении. У меня есть флажки, чтобы выбрать запись и вставить их в мою таблицу. вот мой код :
<table id="dtsResult" class="table table-striped table-bordered" cellspacing="0" width="100%">
       <thead>
           <tr>
               <th>SelectAll<input type="checkbox" id="CheckAllRes" /></th>
               <th>Unit</th>
            </tr>
       </thead>
       <tbody>
           @foreach (var item in ViewBag.Result)
           {
               <tr>
                   <td><input type="checkbox" id=@item.RecordID name="res" class="chkres" /></td>
                   <td> @item.UnitNo</td>
               </tr>
           }
       </tbody>
   </table>

Теперь моя проблема заключается в том, что после вставки записи, когда я снова открываю эту страницу, Я хочу проверить все флажки, которые уже вставлены. Может ли кто-нибудь помочь мне с тем, почему и как это исправить, чтобы я проверил эти флажки из БД. Пожалуйста помочь.
Спасибо

3 Ответов

Рейтинг:
5

Afzaal Ahmad Zeeshan

Схема или задача неясны, так как вы не объяснили, как бы вы нашли записи, которые добавляются в базу данных. Я бы предположил, что ваш item объект содержит свойство "IsSaved".

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

@foreach (var item in ViewBag.Result)
{
   <tr>
       <td>
            <input type="checkbox" checked="@item.IsSaved" 
            id="@item.RecordID" name="res" class="chkres" /></td>
       <td>@item.UnitNo</td>
   </tr>
}


Теперь это будет проверять значение, либо true, либо false. Тогда он либо проверит его, либо оставит незамеченным. Это зависит от вашего объекта. Реализуйте его таким образом, чтобы он представлял вашу систему.


Рейтинг:
26

Krunal Rohit

@foreach (var item in ViewBag.Result)
          {
              <tr>
                  <td><input type="checkbox" id="@item.RecordID" name="res" class="chkres" checked="@item.IsChecked" /></td>
                  <td> @item.UnitNo</td>
              </tr>
          }


item.IsChecked должен быть бул, и ваш ViewBag.Result должен сдержать его.

-КРОНА


Afzaal Ahmad Zeeshan

Ах, похожие идеи! :-)

Krunal Rohit

:-Д

-КРОНА

ErBhati

Спасибо Krunal..

Krunal Rohit

Рад, что смог помочь.

-КРОНА

Рейтинг:
1

Chirag Domadiya

<pre lang="c#">@foreach (var item in ViewBag.Result)
{
 <tr>
    <td>
         <input type="checkbox" @if(item.IsSaved){<text>checked</text>}
         id="@item.RecordID" name="res" class="chkres" /></td>
    <td>@item.UnitNo</td>
</tr>
}


Richard Deeming

Это старый вопрос, но, насколько я вижу, принятые решения не работают. Если checked атрибут присутствует, флажок установлен. Атрибут должен быть полностью опущен - как вы сделали здесь - чтобы флажок был снят.

Возможно, было бы проще использовать Html.CheckBox однако вспомогательный метод. :)