2010-03-28 3 views
2

I ont un procédé de commande avec la signature suivante:Comment puis-je transmettre des paramètres Url sur un POST?

[AcceptVerbs(HttpVerbs.Post)] 
public ActionResult UpdateValues(int id, MyViewModel[] array) 
{ 
} 

Le id est normalement ramassé dans le cadre de l'URL sur d'autres méthodes de commande GET (I ai une voie de travail qui fait cela)

I passe avec succès le array1 du formulaire à mon avis à la méthode de contrôleur, mais comment puis-je également mettre le id sur mon Url de sorte que lorsque l'utilisateur clique sur le bouton Envoyer, la méthode du contrôleur va prendre le id?

+0

Quelle version utilisez-vous? – Giorgi

+0

ASP.NET MVC 2.0 RTM –

Répondre

1

Le paramètre id peut être défini sur facultatif: ASP.NET MVC 2 Optional URL Parameters qui est par défaut dans ASP.NET MVC 2, donc s'il n'y a pas d'élément de formulaire nommé "id", il ne sera pas transmis.

Il suffit de passer le paramètre dont vous avez besoin dans le cadre de la forme au lieu d'une partie de l'URL, comme dans:

[AcceptVerbs(HttpVerbs.Post)] 
public ActionResult UpdateValues(int UserID, MyViewModel[] array) 
{ 
} 

et à votre avis:

<%= Html.Hidden("userID", Model.UserID) %> 
Questions connexes