2012-11-19 14 views
0

Je veux être en mesure de charger une page Web (avec de nombreux contrôles asp) dans un panneau de mon application Web principale. Fondamentalement à partir d'un menu utilisateur, la page Web correspondante sera chargée. Jusqu'à présent, je l'ai essayé ce qui suit ...Comment charger une page Web dans une autre page Web

  1. IFrame - cela ne tient pas les états d'affichage des contrôles
  2. Création de commandes dynamiques par opposition aux pages Web, mais très lent avec beaucoup de contrôles parce que vous devez recréer chaque contrôle sur une publication.

Existe-t-il un moyen raisonnable d'accomplir cela?

+0

Avez-vous besoin de charger une page complète dans une autre page, ou essayez-vous de faire des pages partielles/obtient? c'est-à-dire que l'utilisateur clique sur un bouton et qu'une partie seulement de la page est mise à jour? (similaire à comment les commentaires fonctionnent sur SO) –

+0

@ KenHenderson Idéalement, je voudrais charger un WebUserControl ou WebPage.aspx et son code derrière. La Page contians fondamentalement un ensemble verical (10 à 100) de contrôles aléatoires. – TroyS

Répondre

1

Je suppose que vous travaillez avec des formulaires Web ASP.NET basés sur les spécificités de contrôle dans votre question.

D'après ce que vous avez décrit, il semble que vous souhaitiez ajouter un contrôle UpdatePanel à votre page actuelle. Le panneau de mise à jour pourrait héberger votre UserControl personnalisé, cela aiderait probablement à la réactivité de la page (généralement c'est ce que fait le contrôle TreeView). Cela étant dit, à moins que la source de données pour vos contrôles dynamiques soit lente (ou que le serveur Web soit surchargé), une centaine de contrôles dynamiques ne devraient pas tuer les temps de rendu de vos pages. J'ai écrit des pages qui utilisent plus de 100 contrôles dynamiques sur une instance SharePoint et il était raisonnablement réactif. Gardez à l'esprit que tous les contrôles côté serveur sont des instances de classe qui sont créées, chargées, rendues (ont ignoré un tas d'événements lifecycle mais vous avez l'idée).

+0

Oui Asp.Net est correct. J'ai un problème avec le temps de publication. Quand j'utilise les Combobox Ajax et que j'ai beaucoup de contrôles (100+), le post-retour prend du temps, plus de 10 secondes. Avez-vous des exemples à partager? – TroyS

+0

@tszoro, il existe des exemples sur la façon d'utiliser UpdatePanel sur la page liée. Ma suggestion serait de profiler la performance de votre page et de comprendre ce qui cause le problème, voici un lien qui a quelques suggestions de profilage, http://blogs.msdn.com/b/synergist/archive/2007/12/03/ profiling-asp-net-page-chargement-time.aspx, d'autres sont facilement trouvés à la recherche de 'profil de page asp.net 'sur un moteur de recherche. –

Questions connexes