Enviar um objeto complexo como um parâmetro para postar ação no asp.net MVC3
Eu tento enviar um parâmetro comsubmit
botão para postar ação para que haja a minha amostra:
@using(Html.BeginForm(actionName: "Search", controllerName: "MyController", routeValues: new { rv = "102" })) {
...
<input type="submit" value="Search" />
}
E esta é a Minha ação de pesquisa:
[HttpPost]
public virtual ActionResult Search(string rv, FormCollection collection) {
...
}
Então tudo está bem até agora,
Então eu tento enviar um objeto complexo como umDictionary<string, string>
Então você pode simplesmente substituirstring
tipo derv
parâmetro comDictionary<string, string>
e enviar um dicionário, mas neste caso orv
value sempre retornou um dicionário com 0 count? Onde está o problema? Como posso enviar um dicionário para postar ação?
Atualizar
Eu também tento este mas não trabalhei ainda (Mean rv steel é um dicionário com 0 count):
@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) {
...
}