Je suis en train d'utiliser le lien pour soumettre un formulaire en utilisant le code suivant:ASP.NET MVC formulaire à l'aide ActionLink Soumission
function deleteItem(formId) {
// submit the form
$("#" + formId).submit();
}
Fondamentalement, j'ai une grille et il affiche un certain nombre d'éléments. Chaque ligne a un bouton de suppression qui supprime l'élément. Je tire ensuite la fonction suivante pour retirer l'élément de la grille.
function onItemDeleted(name) {
$("#" + name).remove();
}
Il fonctionne très bien lorsque j'utilise un bouton d'envoi, mais lorsque j'utilise le lien d'action le JavaScript de l'action du contrôleur est retourné sous forme de chaîne et non exécutée.
public JavaScriptResult DeleteItem(string name)
{
var isAjaxRequest = Request.IsAjaxRequest();
_stockService.Delete(name);
var script = String.Format("onItemDeleted('{0}')", name);
return JavaScript(script);
}
Et voici le code HTML:
<td>
<% using (Ajax.BeginForm("DeleteItem",null, new AjaxOptions() { LoadingElementId = "divLoading", UpdateTargetId = "divDisplay" },new { id="form_"+stock.Name }))
{ %>
<%=Html.Hidden("name", stock.Name)%>
<a id="link_delete" href="#" onclick="deleteItem('form_ABC')">Delete</a>
<% } %>
</td>
Ma théorie est que le bouton soumettre ne modifie la réponse alors que le lien d'action renvoie simplement tout ce qui est de retour de l'action du contrôleur. Cela signifie que lorsque vous utilisez submit, le JavaScript est ajouté à la réponse, puis exécuté alors qu'en cas de lien d'action, il est simplement renvoyé sous forme de chaîne.
Si tel est le cas, comment quelqu'un peut-il utiliser des liens d'action au lieu de soumettre des boutons.
MISE À JOUR:
On dirait que je dois faire quelque chose en plus pour faire le lien d'action pour travailler car il ne se déclenche pas l'événement onsubmit.
http://www.devproconnections.com/article/aspnet22/posting-forms-the-ajax-way-in-asp-net-mvc.aspx
Je suggère de l'essayer sans helpers Html? Je m'inquiète; MVC se transforme lentement en jumeau maléfique de Webforms. – ziya
HtmlHelpers pour quoi faire? J'utilise le lien sans HtmlHelpers. – azamsharp