route query parameter net mvc ihttpactionresult fromuri frombody asp asp.net-mvc autofac asp.net-web-api

asp.net mvc - query - Enlace de parámetros MVC4 RC WebApi



web api request parameters (2)

No estoy muy seguro de por qué el cambio de Beta, pero pude hacer que funcione cambiando la firma de acción a:

[HttpPost] RedirectModel MyAction(MyActionDTO dto)

y definiendo MyActionDTO como

public class MyActionDTO { public string value1 { get; set; } public string value2 { get; set; } }

Lanzaba una excepción sobre no poder enlazar a múltiples parámetros corporales usando los dos parámetros de cuerda. Supongo que usar el objeto DTO representa más de cerca lo que está enviando en la llamada AJAX (un objeto JSON).

Actualicé de MVC4 beta a RC y el último autofac. La siguiente acción se estaba enlazando correctamente, pero ahora ambos parámetros son nulos. Veo que cambiaron las cosas sobre los Formateadores y demás, pero no estoy seguro de qué fue lo que causó mi problema

[HttpPost] RedirectModel MyAction(string value1, string value1)

SOLICITUD

Method: POST Accept: application/json URL: api/controller/myaction BODY: {"value1":"1000", "value2":"foo"}


Cuando desee evitar el uso de un objeto DTO, intente esto:

[HttpPost] RedirectModel MyAction(dynamic value1, dynamic value2) { string sValue1 = value1; string sValue2 = value2;