J'ai modifier l'action avec Html.BeginForm
. Comment puis-je ajouter des attributs HTML?
Je ne connais qu'un moyen:
@using (Html.BeginForm("Edit", "Clients", FormMethod.Post, new { @class="example"})) {
}
mais si j'utilise cette méthode, je ne peux pas passer l'ID actuel
Est-il possible d'ajouter des attributs HTML au formulaire sans modifier l'URL de l'action?
Le remplacement dont vous avez besoin est:
@using( Html.BeginForm("Edit", "Clients", new { Id=Model.Id},
FormMethod.Post, new { @class = "example" } ) )
{
}
Voir MSDN docs.
Les paramètres Action et Controller peuvent également être null pour utiliser l'action par défaut:
Html.BeginForm( null, null, FormMethod.Post, new { id=”formname”, @class="formclass" })
Appel via un ActionLink de ControllerA
@using (Html.BeginForm("Create",
"StudentPChoice",
new { StudentPChoiceId = Model.StudentPChoiceId },
FormMethod.Post))
{
}
OU
@using (Html.BeginForm("Create",
"ControllerB",
new { ControllerBId = Model.ControllerAId },
FormMethod.Post))
{
}
Si cela peut être utile pour certaines personnes, cela fonctionne pour moi:
@using (Html.BeginForm("RefreshData", "Home", FormMethod.Post,
new { Id = "timerangeId", @name = "timerange" }))
{
// form elements and input
}
En Javascript:
document.getElementById("timerangeId").submit();