2008-12-04 8 views
3

J'essaie de créer un contrôle de téléchargement pour ASP.NET MVC avec la barre de progression jQuery. Dans ASP.NET, l'implémentation ne pose aucun problème, mais dans MVC, le problème est que le serveur ne répond pas à mes rappels jusqu'à ce que le fichier soit téléchargé.Probs avec ASP.NET MVC Postback + rappel de façon synchrone

Le contrôle de téléchargement est basé sur l'élément de téléchargement de fichier html, et je ne peux pas pour la vie de moi, comprendre comment MVC gère postback + callback de manière synchrone?

J'ai cherché un tas de réponses, mais tout ce que je peux trouver est une solution "callback + callback" et PAS un postback + callback.

Quelqu'un at-il une idée de la façon de résoudre ce problème pour MVC?

Merci

Répondre

4

Hrmmm,

Thomas, MVC ne gère pas post-dos du tout. Étant donné qu'une URL est directement routée vers une méthode Action sur un contrôleur, un formulaire n'est pas censé être réellement renvoyé à lui-même. De plus, tout le traitement post-traitement qu'Asp.Net devait gérer les post-backs sur le serveur a été retiré de l'infrastructure .Net MVC. Une meilleure approche pour accomplir ce que vous essayez de faire avec une barre de progression serait d'utiliser JQuery avec AJAX pour faire l'appel à votre serveur, puis utiliser Javascript/CSS (peut-être une approche lightbox) ou un pop- en haut de la fenêtre pour informer l'utilisateur qu'il attend. Lorsque l'appel Ajax termine son travail, Javascript peut être redirigé vers la page de votre MVC vers laquelle vous voulez que l'utilisateur soit redirigé après l'exécution de l'action. Faire des appels AJAX avec JQuery est un jeu d'enfant et c'est amusant de jouer avec!

Check it...

0

Suggestion:

Vous pouvez utiliser le JQuery Uploadify control pour indiquer l'état de le téléchargement. Ce contrôle a un flash et des contrôles de type html 5. Utilisez ce qui s'applique à vous.