2011-03-25 8 views
0
case à cocher

J'ai ceci:ASP.NET MVC ajouter dynamiquement

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

Dans "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 /> 
} 

Je ne vois pas apparaître une case à cocher, lorsque je place un texte dans, je le voir.

Une idée?

Merci,

+0

Lorsque vous dites "placer du texte", voulez-vous dire dans "MyList"? Si tel est le cas, quittez-vous MyList lorsqu'il n'y a pas de texte ou instanciez-vous une liste vide, par exemple? 'MyList = nouvelle liste ();'? – tobias86

Répondre

2

Je pense que vous manquez le @ devant Html.CheckBox().

Essayez ceci:

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

BTW, si votre compte de liste est 0, le bloc de code dans votre instruction if « true » échouera parce que vous essayez de faire référence à un élément qui ne existe dans votre liste:

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

} 
+0

Vous avez raison! –

Questions connexes