2011-03-25 130 views
0

我有這樣的:ASP.NET MVC添加複選框動態

<tr> 
    <td>Label</td> 
    <td>@Html.Partial("MyPartial", Model)</td> 
</tr> 

在 「MyPartial」:

@if (Model.MyList.Count == 0){ 
    Html.CheckBox("chk" + Model.MyList[0].Id); 

} 
else 
{ 
    Html.CheckBox("chk" + Model.MyList[0].Id); <br /> 
    Html.CheckBox("chkCommon"); <br /> 
    Html.CheckBox("chk" + Model.MyList[1].Id); <br /> 
} 

我沒有看到任何複選框出現,當我把一些文字,我看見。

有什麼想法?

感謝,

+0

當您說「放置一些文本」時,您的意思是在「MyList」中嗎?如果是這樣,當沒有文本時,是否將MyList留空?或者是否實例化一個空列表例如'MyList = new List ();'? – tobias86 2011-03-25 13:39:55

回答

2

我想你失蹤Html.CheckBox前()的@。

試試這個:

@Html.CheckBox("chk" + Model.MyList[0].Id); <br /> 
    @Html.CheckBox("chkCommon"); <br /> 
    @Html.CheckBox("chk" + Model.MyList[1].Id); <br /> 

順便說一句,如果你的列表計數爲0,那麼你如果爲「true」語句中的代碼塊,因爲你想引用一個不一個項目會失敗存在於您的列表中:

@if (Model.MyList.Count == 0){ 
    @Html.CheckBox("chk" + Model.MyList[0].Id); // will throw an exception 

} 
+0

你是對的! – 2011-03-25 13:40:57