Статья: ASP.NET Atlas AJAX в исполнении Microsoft
lstResult.DataBind();
}
Где GetSearchResult() – метод возвращающий результаты поиска.
Для того, чтобы убедиться, что форма перегрузилась целиком, добавим следующий код в класс формы:
public void Page_Load()
{
btnSearch.Attributes["onclick"] = "window.status='Поиск...'";
}
То есть, при нажатии на кнопку, в строку статуса браузера пропишется некое значение. Но так как страница целиком перегрузится, состояние строки статуса браузера утратиться. Запускаем и убеждаемся в этом:
Теперь изменим код нашей формы таким образом, чтобы Repeater, отображающий результаты поиска, оказался внутри UpdatePanel:
<atlas:UpdatePanel ID="pnlResults"
runat="server">
<ContentTemplate>
<asp:Repeater ID="lstResult"
runat="server">
…
</asp:Repeater>
</ContentTemplate>
</atlas:UpdatePanel>
Теперь укажем этому контролу, реакцией на какое событие на форме будет обновление панели. Для этого перейдем в режим дизайна формы и найдем свойство Triggers у UpdatePanel:
Нажав на кнопку редактирования свойства, мы попадаем в редактор триггеров:
Пока список пуст. Нажимаем "New Trigger":
В визарде создания триггера нам предлагается выбрать тип триггера: будет ли это реакция на конкретное событие контрола, или на изменение одного из его свойств. Нам нужен триггер, который бы реагировал на нажатие кнопки поиска. Для этого выбираем тип триггера "Trigger when a control raises an event", и выбираем во втором поле нашу кнопку и событие Click:
Завершаем редактирование и переходим в режим редактирования исходного кода формы. Мы увидим, что в тэга панели добавилась соответствующая секция: