vista una pasar parametros parametro mvc ejemplos controlador con c# javascript asp.net asp.net-mvc url.action

c# - una - Pasando valores dinámicos de javascript usando Url.action()



url.action c# (4)

El @Url.Action() es un proceso en el server-side del server-side , por lo que no puede pasar un valor del client-side a esta función como un parámetro. Puede concat las variables del client-side del client-side con la url del server-side del server-side generada por este método, que es una cadena en la salida. Intenta algo como esto:

var firstname = "abc"; var username = "abcd"; location.href = ''@Url.Action("Display", "Customer")?uname='' + firstname + ''&name='' + username;

La @Url.Action("Display", "Customer") se procesa en el server-side del server-side y el resto de la cadena se procesa en el client-side del client-side , concatenando el resultado del método del server-side del server-side del client-side .

¿Alguien podría indicar cómo pasar valores dinámicos usando Url.action ()?

Algo como,

var firstname="abc"; var username = "abcd"; location.href = ''@Html.Raw(@Url.Action("Display", "Customer", new { uname = firstname ,name = username}))'';

nombre de pila, el nombre de usuario no se está refiriendo dentro del método Url.action ().

¿Cómo pasar estos valores dinámicos usando Url.action ()?


En mi caso funcionó muy bien haciendo lo siguiente:

El controlador:

[HttpPost] public ActionResult DoSomething(int custNum) { // Some magic code here... }

Crea el formulario sin acción:

<form id="frmSomething" method="post"> <div> <!-- Some magic html here... --> </div> <button id="btnSubmit" type="submit">Submit</button> </form>

Haga clic en el botón haga clic en el evento para activar el envío después de agregar la acción al formulario:

var frmSomething= $("#frmSomething"); var btnSubmit= $("#btnSubmit"); var custNum = 100; btnSubmit.click(function() { frmSomething.attr("action", "/Home/DoSomething?custNum=" + custNum); btnSubmit.submit(); });

Espero que esto ayude a vatos!


Esta respuesta podría no ser 100% relevante para la pregunta. Pero sí aborda el problema. He encontrado esta forma sencilla de lograr este requisito. El código va abajo:

<a href="@Url.Action("Display", "Customer")?custId={{cust.Id}}"></a>

En el ejemplo anterior {{cust.Id}} es una variable AngularJS. Sin embargo, uno puede reemplazarlo con una variable de JavaScript.

No he intentado pasar varias variables con este método, pero espero que también se pueda agregar a la URL si es necesario.


La forma más fácil es:

onClick= ''location.href="/controller/action/"+paramterValue''