2011-05-18 3 views
2

J'ai utilisé jQuery des dizaines de fois avec PHP avec beaucoup de succès. Je travaille sur une application ASP.NET et j'aimerais utiliser jQuery de la même manière.Utilisation de jQuery avec ASP.NET pour envoyer un formulaire

Fondamentalement, j'ai une page maître qui a la forme et un formulaire Web qui a tous les champs de formulaire et de données. Un utilisateur peut soumettre le formulaire de plusieurs manières - sélection d'une liste déroulante, d'un bouton, etc. Je veux capturer toutes les soumissions et utiliser jQuery pour soumettre le formulaire. Pendant que le formulaire est en cours de traitement, je souhaite afficher un nouveau DIV avec du texte. Enfin, je veux remplacer ce div avec le nouveau formulaire.

Comment puis-je accomplir cela avec le fonctionnement d'ASP.NET?

+0

essayez-vous d'accomplir cela sans voir le postback rafraîchir? – Mutt

+0

@Mutt: Désolé, je devrais avoir clarifié. Je veux avoir accès aux résultats pour apporter des modifications au formulaire et charger le "nouveau" formulaire. – Dexter

Répondre

3

En fait ASP.NET publiera si vous utilisez sa fonction intégrée __doPostBack JavaScript. Il n'y a pas d'autre moyen indolore de le faire. Cela signifie que vous pouvez utiliser jQuery pour gérer des listes déroulantes, des boutons ou tout autre événement d'élément HTML (X) et le corps du gestionnaire appellera __doPostBack.

Il n'est pas certain que vous vouliez une publication complète, mais une publication partielle utilisant AJAX.

Si vous êtes à la recherche d'une solution pour envoyer des valeurs de formulaire au serveur sans plein postback, je crois que vous avez ces options:

Quoi qu'il en soit, permettez-moi de vous donner un conseil: ASP.NET fonctionne très différent par rapport à PHP et vous seriez pas essayer de reproduire des solutions PHP connues dans ASP.NET. Vous devez changer d'avis.

A propos montrant un DIV ou quoi que ce soit alors que quelque chose est traité, jouer avec initializeRequest ASP.NET AJAX PageRequestManager:

Mais cela dépend de ce que l'API AJAX que vous êtes en utilisant, parce que Microsoft AJAX sera remplacé par jQuery dans les prochaines fois, je vais devoir dire que vous devez faire cela dans une certaine approche jQuery, comme créer un wrapper $.ajax afin que votre code puisse écouter quand un asynchr Une requête inutile va être faite et vous pouvez effectuer des actions en manipulant cette situation comme l'affichage d'un DIV ou d'un avis de chargement.

2

Dans les formulaires Web ASP.NET, les formulaires ne sont pas aussi simples qu'ils le sont en PHP. Si vous êtes nouveau dans le développement ASP.NET, essayez http://www.asp.net/mvc. Un cadre commun qui vous permet de mettre en œuvre TypedViews (ViewModes), simple demande à modelbinding, et ainsi de suite ...

mh, échantillon:

[HttpPost] 
public JsonResult Insert(string name, string vorname) // name&vorname filled by $_POST:) 
{ 
    var @new = new Person { Name = name, Vorname = vorname } 
    this.repo.Insert(@new); 

    return this.Json(new { success = true, newId = @new.Id }); 
} 
Questions connexes