Enviar un objeto complejo como un parámetro para publicar acciones en ASP.NET MVC3
Intento enviar un parámetro consubmit
botón para publicar acción, así que hay mi muestra:
@using(Html.BeginForm(actionName: "Search", controllerName: "MyController", routeValues: new { rv = "102" })) {
...
<input type="submit" value="Search" />
}
Y esta es mi acción de búsqueda:
[HttpPost]
public virtual ActionResult Search(string rv, FormCollection collection) {
...
}
Así que todo está bien hasta ahora,
Entonces trato de enviar un objeto complejo como unDictionary<string, string>
Así que solo puedes reemplazarstring
tipo derv
parámetro conDictionary<string, string>
y enviar un diccionario, pero en este caso elrv
valor siempre devolvió un diccionario con 0 cuenta? ¿Dónde está el problema? ¿Cómo puedo enviar un diccionario para publicar acción?
Actualizar
También probé este pero no funcionó todavía (Mean rv steel es un diccionario con 0 recuentos):
@using(Html.BeginForm(actionName: "Search", controllerName: "MyController", routeValues: new { rv = Model.MyDictionary }, method: FormMethod.Post, htmlAttributes: new { @class = "FilterForm" })) {
...
}
[HttpPost]
public virtual ActionResult Search(Dictionary<string, string> rv, FormCollection collection) {
...
}