Estoy intentando el render una lista HTML que se parece a la siguiente, utilizando el motor de vistas Razor:ASP.NET MVC Razor concatenación
<ul>
<li id="item_1">Item 1</li>
<li id="item_2">Item 2</li>
</ul>
El código que estoy tratando de utilizar para hacer que esta lista es :
<ul>
@foreach (var item in Model.TheItems)
{
<li id="[email protected]">Item @item.TheItemId</li>
}
</ul>
el analizador está asfixiando, ya que piensa que todo lo que a la derecha del guión en el atributo id es texto plano y no debe ser analizado. No estoy seguro de cómo ordenar al analizador que muestre TheItemId.
No quiero sino una propiedad en el objeto modelo que incluye el prefijo item_.
También tengo que mantener esta sintaxis ya que estoy usando la lista con JQuery Sortable y con la función serialize que requiere que el atributo id tenga el formato en esta sintaxis.
Empecé con String.Format pero prefiero la sintaxis y la brevedad de su respuesta, la estoy marcando como mi respuesta preferida. –
Acabo de pasar por algunas vistas parciales de un compañero de trabajo y limpié todos los String.Formats con este pequeño truco de navaja. ¡Un +1 más obtenido! –
Estoy usando Visual Studio 2013 y ASP.NET MVC 5, y esto no funciona (la cadena se establece * como está *, incluidos los '@' y los paréntesis) ... Lo que finalmente funcionó para mí fue el mismo desvergonzado 'id =" foo "+ Model.Bar'. –