2015-08-21 2 views
0

Есть ли шанс остановить страницу для обновления при каждом нажатии control?Как остановить обновление страницы

Например: Я изменяю выбор DropDownList, и страница обновляется. Это просто странно.

Я делаю это с тега формы runat="server"

+1

Включите 'autopostback = false' – TFrost

+0

Попробуйте панель обновления, это вам поможет! – Padmanaban

+0

@TFrost он остановит свой код, запущенный на 'SelectedIndexChanged' – Shaharyar

ответ

1

Попробуйте использовать UpdatePanel и здесь вы можете найти how to use the update Panel образец кода.

простой способ остановить refeshing

Что касается PostBack: PostBack это имя, данное в процессе представления страницы ASP.NET на сервер для обработки. PostBack выполняется, если определенные учетные данные страницы должны быть проверены в отношении некоторых источников (например, проверка имени пользователя и пароля с использованием базы данных). Это то, чего клиентская машина не может выполнить, и, таким образом, эти данные должны быть «отправлены назад» на сервер.

Что AutoPostBack Недвижимость в ASP.NET:

Если мы создаем веб-страницу, которая состоит из одного или нескольких веб-элементов управления, которые настроены на использование AutoPostBack (Каждый веб-элементы управления будут иметь свои собственные AutoPostBack недвижимость), ASP.NET добавляет специальную функцию JavaScipt к отображаемой HTML-странице. Эта функция называется _doPostBack(). При вызове он запускает PostBack, отправляя данные обратно на веб-сервер.

Understanding PostBack

Попробуйте положить панель обновления для выпадающего меню с триггерами

<asp:UpdatePanel ID="upSetSession" runat="server"> 
     <ContentTemplate> 
      <asp:DropDownList ID="ddlMyList" runat="server" 
       onselectedindexchanged="ddlMyList_SelectedIndexChanged" 
       AutoPostBack="true"> 
       <asp:ListItem>Select One</asp:ListItem> 
       <asp:ListItem>Maybe</asp:ListItem> 
       <asp:ListItem>Yes</asp:ListItem> 
      </asp:DropDownList> 
     </ContentTemplate> 
     <Triggers> 
      <asp:AsyncPostBackTrigger ControlID="ddlMyList" 
       EventName="SelectedIndexChanged" /> 
     </Triggers> 
</asp:UpdatePanel> 
0

От asp.net:

Пожалуй, наиболее заметной особенностью расширений ASP.NET AJAX является возможность делать частичные или инкрементные обновления страниц без полной обратной передачи на сервер без изменения кода s и минимальные изменения разметки. Преимущества обширны: состояние ваших мультимедиа (например, Adobe Flash или Windows Media) не изменилось, затраты на пропускную способность сокращены, и клиент не испытывает мерцания, обычно связанного с обратной передачей.

Включите частичный рендеринг в свой проект. Посмотрите на ссылку this.

Также OnClientClick="return false;" может помочь с добавлением OnClientClick="return false;" на каждой кнопке, это не очень хорошая идея. Лучшим решением является частичное рендеринг и AJAX.

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