Problème intéressant.Le bouton Soumettre n'est pas envoyé
Dans un changement de portée de projet, j'ai cassé une application en deux applications. J'ai créé un nouveau projet au lieu d'essayer de pirater l'application existante en deux et réutilisé une grande partie du code précédemment écrit. Je suis en bas du dernier bug qui me fait sortir les cheveux.
J'ai une liste d'éléments avec une case à cocher dans chaque ligne pour permettre à l'utilisateur de travailler avec plusieurs lignes à la fois. J'ai une certaine logique de validation jQuery pour m'assurer qu'une option est sélectionnée dans une liste déroulante et qu'au moins une ligne est sélectionnée. Cela fonctionne, mais rien ne semble se produire lorsque je clique sur le bouton Soumettre. J'ai même mis un point d'arrêt sur la première ligne de code dans la fonction et il n'est jamais déclenché. Le code est le même à l'exception de la modification de l'action de Display
à Index
. Des pensées?
Code suit:
<% using (Html.BeginForm("Index", "Timesheet", FormMethod.Post, new { Id = "form1" }))
{ %>
<%= Html.DropDownList("DropDownAction", new SelectList(Model.Actions, "Value", "Text"), "(Select)", new { Class = "required" })%>
<input type="submit" value="Submit" />
....
<% } %>
TimesheetController.cs
//
// GET: /Timesheet/
[Authorize]
public ActionResult Index()
{
....
}
//
// POST: /Timesheet/
[HttpPost, Authorize]
public ActionResult Index(int[] CbSelect, string DropDownAction, SupervisorCredentials user)
{
foreach (int id in CbSelect)
{
...
}
return RedirectToAction("Index");
}
HTML généré:
<form Id="form1" action="/Timesheet" method="post"><select Class="required" id="DropDownAction" name="DropDownAction"><option value="">(Select)</option>
<option value=" ">Approve</option>
<option value="P">Paper Signature</option>
<option value="A">Absent Employee</option>
</select>
<input type="submit" value="Submit" />
Mise à jour: J'ai enlevé le jQuery et maintenant je reçois une exception nulle. Mes valeurs affichées sont DropDownAction=P&CbSelect%5B%5D=274680&CbSelect%5B%5D=275744
. Pourquoi pas public ActionResult Index(int[] CbSelect, string DropDownAction)
? Je reçois la bonne valeur dans DropDownAction
et un null
dans CbSelect
.
Pouvez-vous préciser comment vous avez réglé cela? – Shimmy
C'était il y a plus de 2 ans ... Pas plus que j'ai là-haut. –
Jetez un oeil à [this] (http://stackoverflow.com/questions/16193615/asp-net-mvc-form-doesnt-submit-to-the-right-action) question? – Shimmy