Senden Sie ein komplexes Objekt als Parameter, um eine Aktion in ASP.NET MVC3 zu veröffentlichen
Ich versuche mit einen Parameter zu sendensubmit
Knopf zum Posten der Aktion, damit es meine Probe gibt:
@using(Html.BeginForm(actionName: "Search", controllerName: "MyController", routeValues: new { rv = "102" })) {
...
<input type="submit" value="Search" />
}
Und das ist meine Suchaktion:
[HttpPost]
public virtual ActionResult Search(string rv, FormCollection collection) {
...
}
Also bis jetzt ist alles in Ordnung,
Dann versuche ich ein komplexes Objekt wie einDictionary<string, string>
So können Sie einfach ersetzenstring
Art derrv
Parameter mitDictionary<string, string>
und senden Sie ein Wörterbuch, aber in diesem Fall dierv
value hat immer ein Wörterbuch mit 0 count zurückgegeben? Wo ist das Problem? Wie kann ich ein Wörterbuch senden, um eine Aktion zu veröffentlichen?
Aktualisieren
Ich versuche auch dieses, aber es hat noch nicht funktioniert (Mean rv steel ist ein Wörterbuch mit 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) {
...
}