MVC 4: l'Appel d'une méthode d'action sur la liste déroulante, sélectionnez modifier
J'ai une liste déroulante, et je veux une action spécifique de la méthode doit être appelée à changer de sélection. Voici ma liste déroulante:
@using (Html.BeginForm(null, null, FormMethod.Post, new { id = "ediFilesForm" }))
{
var directoriesSelectList = new SelectList(Model.Directories);
@Html.DropDownListFor(m => m.SelectedDirectory, directoriesSelectList, new {@Id = "Directories", @style = "width:Auto;height=Auto;", @size = 10, onchange = "$('#ediFilesForm').submit()", name="action:FolderChange"})
Et ici est la méthode de l'action:
[HttpPost]
[ActionName("FolderChange")]
public ActionResult FolderChange(EdiFileModel ediFileModel)
{
//do your work here
return View("Index", ediFileModel);
}
Pour quelque raison, cette méthode n'est jamais atteint, mais celui-ci est frappé à la place:
public ActionResult Index()
{
...
return View(ediFileModel);
}
Pourriez-vous s'il vous plaît aider?
- pourquoi vous êtes de passage à l'action et de contrôleur de nulle?
Vous devez vous connecter pour publier un commentaire.
Premier paramètre de la
BeginForm
méthode estAction
nom, le second est leController
.Vous êtes de passage ànull
de sorte qu'il utilise les valeurs par défaut.Modifier votre code et passer le nom de la
Action
que vous voulez l'appeler:essayer de code ci-dessous :-
le problème se produit parce que vous ne passant pas assez d'informations dans beginform.
pour plus d'informations :-
Comment écrire "Html.BeginForm" dans de Rasoir