¿Cómo codigo el equivalente de @ Html.ActionLink a través de un código javascript, es decir, invoco una acción MVC que luego creará una nueva Vista sin volver a la vista llamante?MVC equivalente a @ Html.ActionLink a través de javascript
Respuesta
javascript
es un lenguaje del lado del cliente que no sabe nada sobre el idioma del lado del servidor que está utilizando. Por lo tanto, es normal que no haya un equivalente en javascript del lado del servidor auxiliar que genera una url usando las definiciones de ruta del lado del servidor.
No es muy claro lo que está tratando de lograr, pero si usted desea utilizar llamar a algunos URL a través de JavaScript que podría generar esta url usando un ayudante del lado del servidor:
<script type="text/javascript">
var url = '@Url.Action("SomeAction", "SomeController")';
// do something with the url client side variable, for example redirect
window.location.href = url;
</script>
Si desea utilizar este url en un archivo javascript por separado donde no tiene acceso a los ayudantes del lado del servidor aún podría, dependiendo de la situación, incluir esta url en algún elemento DOM.
Por ejemplo:
<div id="foo" data-url="@Url.Action("SomeAction", "SomeController")">Click me</div>
Aviso el atributo data-url
HTML5 que hemos incrustado en el DOM y se utiliza un ayudante del lado del servidor para asegurarse de que la URL generada será siempre correcta en función de nuestras definiciones de enrutamiento. Ahora podríamos en un archivo JavaScript independiente discretamente suscribirse al evento click de este div y recuperar la url:
$('#foo').click(function() {
var url = $(this).data('url');
// do something with the url client side variable, for example redirect
window.location.href = url;
});
Otros ejemplos incluyen, obviamente, los estándares <a>
y <form>
elementos que deberían generarse usando ayudantes lado del servidor HTML y luego todo lo que tiene que hacer en su archivo javascript por separado es obtener sus atributos correspondientes href
o action
para recuperar la url real y hacer algo con ella.
Gracias. Era el "window.location.href = url;" código que estaba buscando – Martin
Me alegro de poder ayudarlo. Si esta respuesta lo ayudó a resolver el problema que estaba teniendo, podría considerar marcarlo como respuesta haciendo clic en la marca al lado: http://meta.stackexchange.com/questions/5234/how-does-accepting-an-withwer -work –
@DarinDimitrov ¿Podemos pasar parámetros a la acción específica '@ Url.Action ("SomeAction", "SomeController")' en este trozo de código? –
Otra opción es almacenar la URL en un lugar oculto <div>
en su página y llamarla a través de Javascript más adelante. Se vería así:
Index.cshtml:
<div style="display: none;" id="url">
@Url.Action("SomeAction", "SomeController")
</div>
entonces usted puede utilizar esto en su archivo script.js para construir los enlaces que desee.
var url = $("#url").text();
La variable URL contendría entonces un enlace seguro para la Web a /SomeController/SomeAction
.
- 1. Agregar condicionalmente htmlAttributes a ASP.NET MVC Html.ActionLink
- 2. MVC Equivalente a Page_Load
- 3. ¿Cómo aplico una clase CSS a Html.ActionLink en ASP.NET MVC?
- 4. cómo llamar a la función javascript en html.actionlink en asp.net mvc?
- 5. ASP.NET MVC `Html.ActionLink` entre" Areas "
- 6. JavaScript equivalente a Python's __setitem__
- 7. @ Html.ActionLink en ASP.NET MVC 3
- 8. Javascript equivalente a urldecode de php()
- 9. Javascript equivalente a la lista de PHP()
- 10. ASP.NET MVC Html.ActionLink color de hipervínculo
- 11. Compresión de Javascript a través de .htaccess?
- 12. Prototipo de Javascript a través de Object.create()
- 13. MVC Html.ActionLink ignora el parámetro Controlador
- 14. Rubí equivalente a una función javascript auto
- 15. ruby / rails equivalente a javascript decodeURIComponent?
- 16. ¿Hay un equivalente a php.net para JavaScript?
- 17. Equivalente a Ruby Enumerable # each_slice en Javascript?
- 18. Cómo abrir Elegido a través de JavaScript?
- 19. font-face cambiando a través de JavaScript
- 20. Loop A través de objetos en Javascript
- 21. Javascript iteración a través de matriz dispersa
- 22. Fecha de Javascript a C# a través de Ajax
- 23. Pasar datos de Python a JavaScript a través de Django
- 24. Accediendo a una función de ActionScript a través de Javascript
- 25. Agregar valores de C# a DIV a través de JavaScript
- 26. Accediendo a los datos de SVG a través de JavaScript
- 27. ¿Pasar matriz de MVC a javascript?
- 28. Agregue css dinámicamente a la página a través de javascript
- 29. Cómo llamar a funciones/métodos C++ a través de JavaScript
- 30. Enviando SMS a teléfonos móviles a través de JavaScript
¿Quieres utilizar ajax? ¿Cómo quieres javascript para llamar una acción? – jrummell