2012-03-11 12 views
0

次のコードは動作します:MVC 3の条件付きHTML

@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> 
      } 

適切なHTMLが表示されますusesNumericRevisionの値に応じて。しかし、ユーザーがチェックボックスをオンまたはオフにすると、ビューは更新されません。サーバーに戻らずにビューを更新する方法はありますか?

答えて

0

ビュー内の条件文は、サーバー上で実行され、クライアントに送信されます。あなたは、クライアント側に戻るためにJavaScriptを使用する必要があります。

0

はい...しかし、クライアントサイドの処理を行うには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

のjQueryの上で私を回してくれてありがとう。私は愛していると思う。 ( $; $(ドキュメント).ready(関数() { $( "tr.alpha")は –

+0

ます。

関連する問題