2012-07-20 79 views
0

我在嘗試在部分視圖上渲染複選框時遇到困難。基本上,我想要的是根據從數據庫中提取的值來呈現checkBox。請參閱下面我的代碼:MVC CheckBox在視圖上渲染

 <div class="editor-label"> 
      @Html.LabelFor(model => model.Active) 
     </div> 
     <div class="editor-field"> 
      @{if (Model.Active == 'Y') 
       { Html.CheckBox("Active", true); } 
       else 
       { Html.CheckBox("Active", true); } 
       } 
     </div> 

在這個代碼塊,我檢查了從我的模型活動領域內的價值,使該複選框以true或false基於該值的財產器isChecked。

我調試了這段代碼並使用了一個斷點。我的數據庫中有'Y'的值,它通過了if語句。但是,當表單彈出時,checkBox沒有渲染。

有人可以幫我嗎?謝謝!

回答

1

我認爲你的主要問題可能是因爲你有@{而不是隻有@之前的if ..試試刪除那個。

也,以使事情更容易..你的視圖模型創建一個新的屬性:

public bool IsActive 
{ 
    get { return Active == "Y"; } 
} 

然後在你看來,使用Html.CheckBoxFor(m=> m.IsActive)

+0

謝謝!這使我的編碼變得更容易了! – Smiley 2012-07-20 01:21:25

+0

不客氣。如果是這樣,請將其標記爲「答案」。 :) – Matt 2012-07-20 01:22:26