2010-04-15 2 views
1

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

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

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

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

ответ

1

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

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

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

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

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

+0

Да, без сомнения, главная страница полезна при работе с повторяющимся дизайном и данными на разных страницах. Но это приведет к полной перезагрузке страницы, накладные расходы будут больше. Например. У меня есть меню на главной странице, которое будет динамически строить на основе данных в базе данных. Мастер-страница будет вызывать пересоединение меню каждый раз, когда изменяется страница. – kevin

+0

На главной странице представлены контент-сайты для содержимого, содержащегося в этих страницах. Вы можете предоставить меню по умолчанию на главной странице и переопределить его на любой из ваших страниц. Если вы используете AJAX, тогда не будет полной перезагрузки страницы. Кроме того, если вы используете MVC, то полная загрузка страницы становится менее проблематичной, поскольку нет виджета, и разметка намного легче. Посмотрите на разметку переполнения стека. Я считаю, что это сайт MVC. –

Смежные вопросы