Mvc 3 условный HTML - PullRequest
       2

Mvc 3 условный HTML

0 голосов
/ 11 марта 2012

Работает следующий код:

  @if ( Model.document.usesNumericRevision )
            {
             <tr>
                    <th>Major Revision</th>
                    <td>@Html.TextBoxFor( m => m.document.documentStatus.documentRevision.MajorRevision )</td>
             </tr>
             <tr>
                    <th>Minor Revision</th>
                    <td>@Html.TextBoxFor( m => m.document.documentStatus.documentRevision.MinorRevision )</td>
              </tr>
            }
        else
            { 
             <tr>
                <th>Alphanumeric Revision</th>
                <td>@Html.TextBoxFor( m => m.document.documentStatus.documentRevision.Revision )</td>
            </tr>
            }

В зависимости от значения использования NumericRevision будет отображаться соответствующий HTML-код.Но если пользователь установит / снимет флажок, представление не будет обновлено.Есть ли способ обновить представление, не возвращаясь на сервер?

Ответы [ 2 ]

0 голосов
/ 11 марта 2012

Да ... но вам нужно немного jQuery для работы на стороне клиента.

<div id="NumericRevision">
 <tr>
   <th>Major Revision</th>
   <td>@Html.TextBoxFor(m => m.document.documentStatus.documentRevision.MajorRevision)</td>
 </tr>
<tr>
   <th>Minor Revision</th>
   <td>@Html.TextBoxFor(m => m.document.documentStatus.documentRevision.MinorRevision)</td>
</tr>
</div>
<div id="AlphanumRevision">
   <tr>
      <th>Alphanumeric Revision</th>
      <td>@Html.TextBoxFor( m => m.document.documentStatus.documentRevision.Revision )</td>
   </tr>
</div>

...

<script>
$(document).ready(function() {
   //Initial state of the form
   $("#AlphanumRevision").css("display","none");

   // Add onclick handler to checkbox w/id "checkme"
   $("#checkme").click(function(){
      // If checked
      if ($("#checkme").is(":checked")){
       $("#AlphanumRevision").show("fast");
           $("#NumericRevision").hide("fast");
       }
       else {
       $("#AlphanumRevision").hide("fast");
           $("#NumericRevision").show("fast");
    }
    });
 });
</script>
0 голосов
/ 11 марта 2012

Оператор условия в представлении выполняется на сервере и отправляется клиенту. Вам нужно использовать JavaScript, чтобы сделать это на стороне клиента, не возвращаясь к серверу.

...