tutorial sintaxis net mvc cshtml code asp asp.net-mvc-4 razor razor-2

asp.net-mvc-4 - sintaxis - razor insert c# code



¿Hay algún beneficio al usar @ Url.Content("~") (2)

Soy nuevo en MVC4 / razor2, y creo que entiendo el beneficio general de usar @Url.Content y @Url.Action : si mi enrutamiento o directorio virtual cambia, magic-url-strings se procesan correctamente.

Estoy mirando un código heredado Javascript-with-razor en una vista que está salpicada con ''@Url.Content("~")'' . Esto se traduce como ''/'' - o, raíz del sitio web. ¿Cuál ... siempre sería el caso, no?

¿O hay alguna situación en la que esto se pueda representar de manera diferente?

Nota: no es ~/ - simplemente simple.

Estoy planeando extraer las llamadas de la máquina de afeitar a las funciones auxiliares, y mover el bloque principal de JavaScript a un archivo externo (para despegar y "limpieza" general). No necesito "arreglar" nada de lo que sucede actualmente, pero me gustaría entenderlo mejor.


Url.Content asigna la tilde a la raíz de la aplicación. La raíz de la aplicación no es lo mismo que la raíz del sitio web.

De este artículo http://msdn.microsoft.com/en-us/library/system.web.virtualpathutility(v=vs.110).aspx :

Una ruta virtual absoluta comienza con la barra diagonal literal (/). Una ruta virtual relativa es relativa al directorio raíz de la aplicación, si es solo una tilde (~) o comienza con la tilde y una barra invertida doble (~ /) o la tilde y una barra diagonal (~ /). Hacer una ruta de acceso virtual hace que la ruta sea independiente de la aplicación.

A partir de MVC4 Url.Content no es necesario para convertir la tilde a la raíz del aplicativo: http://beletsky.net/2012/04/new-in-aspnet-mvc4-razor-changes.html


Parece que hay dos preguntas separadas, así que las abordaré individualmente.

¿Hay algún beneficio al usar @ Url.Content ()

A partir de Razor 2 casi no hay razón para usarlo.

Los siguientes son equivalentes (para cualquier raíz de aplicación ):

<a href="@Url.Content("~")">Root</a>

y

<a href="~">Root</a>

En segundo lugar

¿Cuál es el ~ (tidle)

slash (/) vs tilde slash (~ /) en la ruta de la hoja de estilo en asp.net