¿Puedo hacer una pregunta similar here y Darin Dimitrov
respuesta que no podemos usar URL Helper como $.ajax({ url: '@Url.Action("Index")', . . .
en el archivo js separado así que lo que es su sugerencia de usar la página de ayuda de Url en la vista y pasarla a javascript, no quiero usar la url de código duro, necesito encontrarla con Url helper.?Uso Seprate js archivo y utilizar Url ayudantes en ella con ASP.NEt MVC 3 y Razor Ver Motor
Respuesta
Utilice un campo oculto para guardar su url, luego use javascript para leer el campo oculto, luego use eso en su código. De esta forma, puede mantener el archivo JS separado de la vista. Algo como esto:
//In Your View
@Html.Hidden("MyURL", Url.Action("Index"))
//In Your JS
var myUrl = $("#MyURL").val();
$.ajax({ url: myUrl , . . .
La forma más fácil es sólo para crear una variable global llamada algo y simplemente hacer referencia a ella en su externo de JS
var baseURL = '@Url.Action("Index")';
Dentro de su JS externo
$.ajax({ url: baseURL + "Action"
La mejor práctica es espacio de nombres variables globales '' 'si { window.myProject = {} (window.myProject!); } myProject.baseURL = '@ Url.Action ("Index")'; '' ' – Josiah
Puede utilizar RazorJS para ese propósito. Permite escribir Razor-Style C# o VB.NET dentro de sus archivos JavaScript. Hay una breve descripción disponible here.
La URL de descripción dada no es válida ahora. ¿Puedes verificar eso? Actualice la URL si conoce alguna. También estoy en necesidad de eso. Gracias por adelantado. –
Eche un vistazo a Generating External JavaScript Files Using Partial Razor Views. En esta publicación de blog, describo cómo puede utilizar las vistas regulares de Razor y un filtro de acción personalizado para representar archivos JavaScript externos que pueden tener código Razor en ellos.
No hay necesidad de tener un campo oculto, incluso esto también funciona en el archivo externo .js.
var myUrl =/Nombre del controlador/Nombre de la acción;
$.ajax({ url: myUrl , . .
he utilizado un enfoque similar al raklos, pero estaba buscando para obtener la ruta del directorio raíz en todos los lugares, así que fui con el código de abajo.
@Html.Hidden("AppUrl", Url.Content("~"))
- 1. ASHX handler con ASP.NET MVC 3 y Razor
- 2. Motor ASP.NET MVC Razor view
- 3. MVC 3 Razor, Ayudantes con marcado personalizado/sección
- 4. URL relativa dentro de $ ajax con asp.net mvc 3
- 5. ASP.NET MVC 3 Sintaxis Razor - Casting
- 6. Alojamiento ASP.NET MVC 3 Razor Engine Site
- 7. ASP.Net MVC 3 Razor Concatenate cadena
- 8. ASP.NET MVC 3 Razor el rendimiento
- 9. Problema con entradas ocultas y valores muy grandes en HTML y ASP.NET MVC 3 Razor
- 10. Asp.net MVC Site.master y Razor Switch
- 11. seguimiento con ASP.NET MVC 3 y vistas de afeitar usuario
- 12. ASP.NET MVC 3 Razor plantillas VS renderPartial
- 13. ayudantes HTML Styling ASP.NET MVC
- 14. ASP.NET MVC 3 Razor función recursiva
- 15. Microsoft Charting, MVC 3 y Razor
- 16. ASP.NET MVC URL predeterminada Ver
- 17. ¿Cómo ver un archivo después de cargarlo en App_Data/Uploads en MVC 3 con Razor?
- 18. Generar URL completa ASP.NET MVC Razor Vistas
- 19. MVC ASP.NET o Razor
- 20. ASP.NET MVC 3 Razor View Restrictions
- 21. ASP.net MVC 3 Razor - jQuery Intellisense
- 22. ASP.Net MVC 3 Razor Response.Write position
- 23. ASP.NET MVC Razor concatenación
- 24. ¿Diferencia entre MVC 3 Partial Page (Razor) y MVC 3 View Page with Layout (Razor)?
- 25. Motor de blog embebible ASP.NET MVC 3
- 26. ASP.NET MVC Razor diseñador
- 27. ASP.NET MVC 3 Ayudantes HTML personalizados- Mejores prácticas/Usos
- 28. Buscando motor de foro ASP.NET (MVC 3)
- 29. Uso de un modelo genérico en ASP.NET MVC Razor
- 30. orden de tabulación en ASP.NET MVC 3 Ayudantes
Excelente sugerencia !! –
¿Ha considerado que esto puede abrir agujeros de seguridad en la aplicación? ¡Un hacker puede reemplazar la URL objetivo en el servidor simplemente modificando el valor de los campos ocultos! – Mosh
@Mosh Todo lo que se encuentra en una página web puede ser modificado por un supuesto hacker, incluidos los archivos JavaScript antes de que se ejecuten. No puedes detener esto (incluso con encriptación). La única vez que esto sería un problema es si un hacker puede modificar el valor de esos campos ocultos _para otras personas_. – Pluto