Pregunta

Ok. Así que tengo dos elementos en una página que no están ubicados en un solo formulario. Necesito que estos se publiquen de nuevo en mi controlador a través del método JQuery.Ajax (). Ahora el problema que tengo es que mientras mis parámetros se publican correctamente, solo lo hacen si los configuro como cadenas e incluyen el nombre del parámetro en el valor. Entonces:

Public ActionResult Method(String Age1, String Age2)
{
    Age1=23; Age2=43
}

me sale

Public ActionResult Method(String Age1, String Age2)
{
  Age1="Age1=23"; Age2="Age2=43"
}

Lo que es irritante. ¿Hay alguna forma de asegurarse de que MVC mapeará los parámetros correctamente y solo tomará los valores correctos? Realmente quiero que haga:

Public ActionResult Method(Int32 Age1, Int32 Age2)
{
  Age1="Age1=23"; Age2="Age2=43"
}

La llamada jQuery:

$.ajax{(

//other stuff
data: { Age1: $('.id').val(), Age2: $('.id2').val() };
)};

¡Opps, fue porque en mi código real estaba usando Serialize! DUH!

¿Fue útil?

Solución

Honestamente, no veo nada malo en lo que estás haciendo, siempre que estés pasando los números 23 y 43 a través de $ .ajax, y no " Edad1 = 23 " y " Edad2 = 43 " ;. Si lo fueras, int no funcionaría ya que el marco no puede convertir esas cadenas en enteros.

Podría valer la pena cambiar tu llamada ajax () a esto, solo para ver qué sucede.

data: { 
    Age1: parseInt($('.id').val()),
    Age2: parseInt($('.id2').val())
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top