2
// html
<% using (Html.BeginForm("MyAction", "MyController",
new { id = ViewContext.RouteData.Values["id"] },
FormMethod.Post,
new { enctype = "multipart/form-data", class="myForm" }))
{ %>
<input type="file" name="blah" />
<% } %>
// script
$container.find('.myButton').click(function() {
$container.find('.myForm').submit();
});
Avant de soumettre le formulaire, je dois ajouter des paramètres supplémentaires (valeurs de route) qui ne peuvent être calculés qu'au moment de la soumission.Ajout de paramètres dynamiques avec Html.BeginForm et jQuery submit
Comment faire cela?
Je suis d'accord avec votre réponse, mais je suggère car cela est un scénario post-retour (probablement avec une liaison modèle), que la le champ de saisie masqué doit déjà être supprimé (c'est-à-dire qu'il ne doit pas être généré à la volée) - il doit simplement avoir sa valeur modifiée. –
@Kirk, oui c'est une bonne idée. L'entrée peut déjà être générée du côté serveur et ne définir sa valeur sur le client que si le nombre de ces champs cachés est dynamique et ajouté par l'utilisateur. –
Je ne peux pas vraiment avoir de champs cachés statiques, car j'ai un nombre illimité de formulaires sur la page et chaque soumission a besoin de ces informations supplémentaires comme c'est le cas pour la récupération d'erreur. Je peux avoir un seul champ caché dans la page maître, mais là encore c'est le problème que je ne sais pas comment obtenir cette valeur à soumettre avec le formulaire. – fearofawhackplanet