Обновить элемент управления на главной странице после обратной передачи - PullRequest
1 голос
/ 12 апреля 2010

То, что я пытаюсь сделать здесь, это показать пару сообщений проверки в виде списка, поэтому у меня есть Div на моей главной странице, содержащей asp: bulletlist. Как это:

                <div>
                <asp:BulletedList ID="blstValidationErrorMessage" runat="server" BulletStyle="Disc">
                </asp:BulletedList>
            </div>

Когда я затем нажимаю кнопку Сохранить на любой из моих страниц (внутри основного contentPlaceHolder), я создаю список сообщений и выдаю этот список в виде данных, подобных этому:

                blstValidationErrorMessage.DataSource = validationMessageCollection;
                blstValidationErrorMessage.DataBind();   

Кнопка сохранения находится внутри панели обновления:

asp: UpdatePanel runat = "server" ID = "UpdatePanel" ChildrenAsTriggers = "true" UpdateMode = "Условный">

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

Итак, мой вопрос: как я могу обновить список обновлений после обратной передачи?

Заранее спасибо.

Ответы [ 2 ]

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

Если ваша кнопка находится внутри UpdatePanel, вы также должны поместить свой элемент управления BulletedList в UpdatePanel.

Вы можете поместить UpdatePanel, окружающий BulletedList, в файл MasterPage. Установите для «UpdateMode» значение «Условно», затем вызовите метод Update для UpdatePanel, чтобы он обновлялся только при необходимости (например, нажмите кнопку «Сохранить»).

0 голосов
/ 12 апреля 2010

Кнопка «Сохранить» обновляет только содержимое панели обновления, в которую вы ее поместили. Вот что я рекомендую сделать:

  1. Переместите кнопку SaveButton за пределы панели обновления. Где вы положите, я оставлю до вас.
  2. Поместите свой проверочный div в другую UpdatePanel. Назовите его ValidationUpdatePanel
  3. Добавьте свой SaveButton как AsyncPostbackTrigger для обеих панелей обновления. Поскольку каждая UpdatePanel может быть разделена на разные элементы управления / страницы, вы, вероятно, захотите сделать это в программном коде программно.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...