2013-07-16 98 views
1

我有一個HTML幫助複選框在一個MVC3項目視圖:Html.CheckBox不渲染

<% 
      var temp = Model.NonResident; 
      if (Model.NonResident) 
       Html.CheckBox("IsNonResident", true); 
      else 
       Html.CheckBox("IsNonResident", false); 
     %> 

模型字段「非居民確實有真值。我將這個值賦值給'temp',並通過它。當我調試時,代碼確實碰到了Html.CheckBox(「IsNonResident」,true)段,但它不呈現。

我已選中「查看源代碼」,並且該控件不存在。如果我刪除'if'語句,它會在我使用時呈現:

<%=Html.CheckBox("IsNonResident", true)%> 

它必須是簡單的東西,但我看不到它。誰能幫忙?

回答

1

區別在於<%=Html.CheckBox("IsNonResident", true)%>的等號。輸出結果。用你的if塊,你忽略了結果,所以輸出永遠不會對http響應產生影響。一種解決方法是像這樣內聯:

<%=Html.CheckBox("IsNonResident", Model.NonResident)%> 
+0

就是這樣!謝謝。 – user2284341