nous avons ce problème avec un contrôleur en ce moment; le contrôleur ressemble à ceci:ASP.NET MVC - Le paramètre du contrôleur n'est pas collecté à partir du formulaire?
public class AccountsController:Controller {
public ActionResult List(int? page, int? pageSize, string keywords) {...}
}
Nous affichons sur cette page via jquery:
$.post("/myapp/Accounts/List",
{"page":0,"pageSize":10,"keywords":"asdf"},
updategrid,
"json");
...
function updategrid(result) {...}
Dans l'action: Request.Form [ "mots-clés"] == "asdf", mais les mots clés = = "" et ici je suis à perte. Pourquoi les mots clés n'ont-ils pas la valeur que nous voulons?
En utilisant la réponse I fournie ci-dessous, mais pas satisfait de la syntaxe résultante. Cela ne me semble pas être la bonne façon de le faire. –
Comment votre contrôleur est-il instancié? J'ai rencontré ce problème et j'ai trouvé que c'était SpringControllerFactory qui créait mes contrôleurs sous forme de singletons (et utilisait donc toujours les valeurs de la première requête). –
C'est tout! Mon contrôleur a été enregistré en tant que singleton dans mon conteneur Windsor et mon WindsorControllerFactory a renvoyé un singleton. –