Ma question est similaire à this one et j'ai un problème similaire, mais une grande différence est que j'utilise les méthodes d'aide Ajax (Ajax.ActionLink
et Ajax.BeginForm
) au lieu de gérer l'AJAX avec jQuery .Request.IsAjaxRequest renvoie false sur POST
Request.IsAjaxRequest()
renvoie true pour la méthode Edit qui accepte http GET, mais false pour la méthode Edit acceptant http POST.
La requête GET vient d'un lien généré par:
<%=Ajax.ActionLink(item.Name, "Edit", "Device",
new { id = item.ID },
new AjaxOptions { HttpMethod= "GET", UpdateTargetId = "ModalDialog" },
new { name = item.Name })%>
La requête POST provient d'une forme générée par ce code:
<% using (Ajax.BeginForm("Edit", "Device", new { id = Model.ID }, new AjaxOptions { OnComplete = "CloseDialog" }))
{ %>
<fieldset>
<h4>
<label for="Name">Name</label>
</h4>
<%= Html.TextBox("Name", null, new { @class = "required" })%>
<h4>
<input type="checkbox" id="IsActive" name="IsActive" <% if (Model.IsActive)%> <%=Html.Encode("checked=''")%> />
<label for="IsActive">Unit Is Active</label>
</h4>
<p>
<input type="submit" value="Save" />
</p>
</fieldset>
<% } %>
Est-ce par la conception, que je fais quelque chose de mal , et comment puis-je résoudre ce problème?
Bon appel. J'ai eu le "CloseDialog" dans le '(document) .ready (function() {' de la page.) – oltman
Une idée de pourquoi il revient à une publication régulière au lieu de jeter une sorte d'exception ou de laisser le développeur savoir ce qui se passe dans – oltman
Une exception est levée, mais c'est une exception js donc côté client Si vous placez quelques points d'arrêt dans le fichier MvcAjax, vous verrez l'exception renvoyée. la forme comme toute autre forme – Nate