template sintaxis section renderbody net mvc cshtml asp _layout asp.net-mvc asp.net-mvc-3 views razor region

asp.net mvc - sintaxis - Regiones en las vistas de ASP.NET?



renderbody() (10)

Estoy haciendo una aplicación ASP.NET MVC con el motor de afeitar.
Y me preguntaba si es posible usar Regions en una vista.

algo como:

#region blabla <p>@Model.Name</p> <p>...</p> #endregion

Esto no funciona. ¿Hay una alternativa?


En Visual Studio, puede agregar manualmente la región delineada como esta:

Para crear o eliminar una región colapsable

  1. Seleccione el texto que desea tratar como una región colapsable.

  2. Para crear una región colapsable, en el menú Edición, seleccione Esquema y luego haga clic en Ocultar selección.

El editor convierte la selección en una región, la contrae y muestra un cuadro con puntos suspensivos (...) para indicar que el área contiene un área contraída. Puede mantener el puntero del mouse sobre el cuadro para ver su contenido.

  1. Para eliminar una región colapsable, colapsarla y luego hacer clic para seleccionarla.

  2. En el menú Edición, seleccione Describir y luego haga clic en Detener ocultación de la corriente.

Para colapsar y expandir una sola región

  1. Para contraer una región, haga clic en el signo menos (-) en el margen del editor.

  2. Para expandir una región contraída, haga clic en el signo más (+) en el margen.

Para colapsar y expandir todas las regiones

En el menú Edición, seleccione Esbozo y luego haga clic en Alternar todo delineado.

Desde MSDN

Pero eso no es realmente práctico.

Para HTML puede editar manualmente la opción de esquema para cada etiqueta en las opciones de editores de texto:

El valor mínimo de las líneas mínimas es 1 para que sea efectivo.

Más información en MSDN


En Vs2015 y Resharper escribe "región" en tu página html o cshtml, luego presiona la tecla Tab. Este inserta el # código de fragmento de región.

<!-- #region name --> //Your html or cshtml codes <!-- #endregion -->


En mi opinión, las regiones funcionan como vistas, puedo definir una región pero no se colapsará. Si usas el método de @ Artur para usar Collapse Tag, ¡estás prácticamente allí! :)


Las divisiones son plegables, por lo que siempre puedes usarlas con algún tipo de identificación para imitar regiones.

<div id="BLABLA">...</div>


No tengo la opción "CollapseTag" en mi menú contextual . Lo que suelo hacer es:

  1. Elegir texto.
  2. Ir a Editar -> Delinear -> Ocultar selección.

o

usa Ctrl + M, Ctrl + H

Estoy usando Microsoft Visual Studio Pro 2013.


No, AFAIK no es posible usar regiones en una vista. Puede usar parciales para agrupar regiones de la vista en vistas parciales reutilizables.

Vea la respuesta más nueva ; funciona y logra el efecto deseado.


Puedes usar Masterpages con RenderPartial o RenderAction para hacer tus vistas más pequeñas. Ambos tienen sus lugares.


Seleccione la parte que necesita convertirse en región, luego haga clic con el botón derecho y presione CollapseTag


Si descarga Web essential 2013, puede usar regiones tanto en sus archivos cshtml como javascript.

Me gusta esto (gracias a @dotnetN00b para la muestra en la sección de comentarios):

<!-- #region Test --> code here <!-- #endregion -->


Tenga en cuenta que el uso de regiones puede causar problemas en las vistas, aunque sean sintácticamente válidas, a menudo la designación entre código y HTML / SCRIPT se vuelve "confusa", lo que resulta en un comportamiento impredecible.

Los DIV son sin duda la "mejor" solución, especialmente porque los DIV adicionales permiten más flexibilidad al cambiar los estilos CSS más adelante.

Si necesita muchas regiones, considere refaccionar su código aún más.