ActionLink jQuery paramètre

J'ai créé un ASP.NET MVC 2.0 de l'application.

J'ai un dropdownbox avec une liste de “rapports”. À côté de la liste déroulante, j'ai deux ActionLink. Celui qui dit “Ajouter un nouveau rapport” et de dire à l'autre “Modifier le rapport de”.

La “Ajouter un nouveau rapport” lien, c'est assez simple ... il appelle une ViewResult dans mon Contrôleur et renvoie un new View(). Super! cela fonctionne sans problème!!!!

La “Modifier le rapport de” le lien est un peu plus compliqué puisque je souhaite passer le sélectionné ID de l'élément actuellement sélectionné à l'intérieur de la liste déroulante de la ActionLink.

J'ai trouvé un article qui me montre comment AJAXify mon ActionLink mais je suis en train de faire quelque chose de mal...

Ici est la ActionLink dans l'Affichage du lien “Modifier”:

<%=Html.ActionLink("Edit report", "EditReport", "Report", null, new { id = "edit" })%>

Ici est le jQuery, cliquez sur l'événement pour gérer le “clic”

$("#edit").click(function() {
   $.ajax({
     url: '<%=Url.Action("EditReport")%>',
     type: 'POST',
     data: { reportId: $('select[name="ReportId"] option:selected').val() },
     success: function(result) {
          //alert("succes");
     },
     error: function() {
          alert("error");
     }
     });
   return false;
});

Ici est la méthode dans le Contrôleur:

public ViewResult EditReport(int reportId)
{
      return View("EditReport");
}

Lorsque vous placez un point d'arrêt dans la méthode du Contrôleur, il est touché et le paramètre “reportId” est bien passé...mais le reste du code (return View ()) ne semble pas fonctionner, car à l'intérieur de l'jQuery cliquez sur l'événement, j'ai un “return false”.

Lorsque vous retirez le “return false” à l'intérieur de l'événement de clic, le point d'arrêt n'est plus reçoit le coup. Donc, je ne peux pas aller à mon “EditReport”...

Ce qui me manque/pas comprendre ici?

Aussi ... est-il un mieux/plus belle/le plus propre approche à la réalisation de mes tâches sans avoir à utiliser un appel AJAX?

avez-vous essayé sur votre action de retour json ou chaîne au lieu de l'afficher?
Eh bien...le truc c'est que je tiens à montrer à un autre (“EditReport”) vue qui sera fortement typé. Ce point de vue aura un formulaire permettant à l'utilisateur de modifier les informations du rapport. Corrigez-moi si je me trompe, mais, de retour json de ne pas me diriger vers un autre point de vue correct? Peut-être que mon approche est erronée.
Vous n'avez pas à utiliser ajax pour rediriger l'utilisateur vers d'autres point de vue, je crois que le but de l'ajax pour mettre à jour le contenu de la page sans recharger la page entière.
Je suis d'accord avec vous, l'ajax est généralement utilisé pour mettre à jour des parties de pages sans un rechargement complet. Et depuis je tiens à montrer, d'un point de Vue différent() ajax semble ne servent à rien pour moi MAIS comment puis-je passer l'ID sélectionnées (de l'article dans ma liste déroulante) en tant que paramètre à mon ActionLink? C'est pourquoi j'ai pensé que le seul moyen était avec ajax...sauf si bien sûr, il y a une approche différente.
Ok j'ai trouvé un moyen! Je vais poster la réponse demain car je ne peux pas répondre à mon propre post 🙁 Merci

OriginalL'auteur Vlince | 2011-10-20