asp.net mvc Ajax.BeginForm
Je vais avoir quelques difficultés avec l'Ajax.BeginForm
J'ai quelque chose comme cela dans une vue
<% using (Ajax.BeginForm("ActionName", null , null, new { id = "FormName" }))
{%>
<input type="hidden" value = '<%= Html.Encode( Model.id) %>' name="id"/>
<textarea id="message" name=message rows="4" style="width: 90%">
</textarea>
<% }%}
Et la méthode d'action est quelque chose comme cela
[AcceptVerbs(HttpVerbs.Post)]
[Authorize]
public ActionResult ActionName(int id, string message)
{
....
}
Je suis en train de passer à la " id " et "message" à la méthode d'action. Je suis de passage 'null', pour routeValues mais je ne sais pas ce qu'à passer. Idéalement, j'essaie de trouver une surcharge qui ne nécessitent pas de route des valeurs, mais a pris actionName et htmlattributes (pour la forme nom), mais je ne pouvais pas en trouver un.Je ne veux pas ajouter un "message" à la vue-modèle et je n'ai besoin de la FormName là pour jquery opérations.
Quelle est la meilleure façon de contourner ce problème ?
Oh, j'ai oublié de mentionner, c'est de Cette façon que je poste le formulaire
$.post($("#FormName").attr('action'), $("#FormName").serialize(),
function(result) {
$("#correspondingDiv").html(result);
}
);
source d'informationauteur Bala R
Vous devez vous connecter pour publier un commentaire.
Utiliser cette surcharge:
http://msdn.microsoft.com/en-us/library/dd470605.aspx
Essayer:
Je pense que vous êtes plus que compliquer le problème, ID de Message et seront remplis sur la publication de champs dans le formulaire, de sorte que vous n'avez pas besoin de les préciser dans le formulaire de déclaration. Vous pourriez aussi essayer de
Html.BeginForm()
au lieu de cela, sauf si vous voulez vraiment une réponse Ajax.