2011-07-27 14 views
20

tengo una forma que crea una serie de elementos de casillas de verificación utilizando el código de la maquinilla de afeitar como estoRazor Sintaxis dinámicamente Nombre elementos HTML

foreach (var tag in Model.Tags) 
    { 
     <input type="checkbox" id="@tag.ID" name="@tag.ID" value="@tag.TagName"/>@tag.TagName<br/
    } 

Esto funciona, pero quiero que el nombre de identificación y para estar en este formato chkTag [TagID] he intentado esto

<input type="checkbox" id="[email protected]" name="[email protected]" value="@tag.TagName"/> 

pero Razor solo trata a todo el asunto como cadena y los nombra [email protected]

Así que supongo que mi pregunta es ¿cómo puedo agregar la identificación dinámica de la maquinilla de afeitar al final de mi nombre y mi ID?

Gracias

+0

¿por qué no utiliza 'Html.CheckBoxFor', y especifica el atributo' name' html? y además, use una plantilla de editor y guarde el ciclo 'foreach'. – RPM1984

Respuesta

4
@for (int i = 0; i < Model.Tags.Count(); i++) 
{ 

     @Html.CheckBoxFor(model => Model.Tags[i]) 

} 

Esto debe hacerlo normalmente. Automáticamente dará el nombre correcto.

+0

+1 por la única respuesta que he encontrado que funciona hasta ahora! – iGanja

Cuestiones relacionadas