Лучший способ сделать частичное обновление контента на ASP.NET - PullRequest
1 голос
/ 15 апреля 2010

Изначально я планировал использовать мастер-страницу для каждой страницы в моем приложении. В конце я узнал, что каждый раз, когда страница меняется, она перезагружает полную страницу, даже если она имеет одну и ту же главную страницу. Я перепутал набор фреймов с главной страницей. Затем у меня есть 2 идеи, чтобы достичь этого, не используя главную страницу.

  1. Используя iframe и установите атрибут на runat server, чтобы я мог изменить страницу в своем коде (я предпочел контролировать поток страниц на стороне сервера)

  2. Сделать каждую дочернюю страницу доступной для пользователя. Затем динамически загрузите его на панель в коде позади.

Пожалуйста, дайте мне несколько советов, какой метод является лучшим в ASP.NET с включенным AJAX, или другими способами, которые лучше. Спасибо.

1 Ответ

1 голос
/ 15 апреля 2010

Главная страница полезна для содержания таких вещей, как заголовки, авторские права на текст и меню, которые не меняются от страницы к странице на сайте. Я не откажусь от них, или вы пожалеете об этом, когда будете вносить изменения в макет своего сайта.

Чтобы ответить на ваш вопрос, если у вас есть AJAX, используйте его. Также рассмотрим простое обновление до ASP.NET MVC. Это сделает вашу жизнь намного проще и решит множество ваших проблем, заставив вас рассматривать ваши страницы с точки зрения просмотров и вставку данных с точки зрения действий.

Главная страница предоставляет заполнители содержимого для содержимого, содержащегося на страницах. Вы можете предоставить меню по умолчанию на главной странице и переопределить его на любой из ваших страниц.

Меню - это особый случай, когда они часто меняются в зависимости от страницы, на которой вы находитесь. Если эта логика относительно проста, вы можете поместить меню в UserControl (ASP.NET) или View (MVC) и позволить контроллеру / контроллеру определить, какие данные поместить в меню для отображения пользователю.

Относительно полной перезагрузки страницы: если вы используете AJAX, тогда перезагрузка полной страницы не будет. Кроме того, если вы используете MVC, тогда загрузка полной страницы становится менее важной, поскольку отсутствует состояние просмотра, а разметка намного легче. Посмотрите на разметку переполнения стека. Я считаю, что это сайт MVC. Конечно, обычно лучше не выполнять полную загрузку страниц, если этого можно избежать, и AJAX позволяет это делать. Я просто говорю, что MVC делает это менее важной проблемой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...