Можете ли вы асинхронно изменить страницу содержимого ContentPlaceHolder на главной странице в .NET? - PullRequest
2 голосов
/ 21 января 2009

Из того, что я уже прочитал, это кажется невозможным, но я хотел посмотреть, есть ли у кого-нибудь секретный трюк в рукаве или хотя бы однозначное «нет».

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

Response.Redirect("PageB.aspx");

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

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

Возможно ли это, если да, то как?

Ответы [ 2 ]

1 голос
/ 21 января 2009

Я не знаю, можете ли вы переходить между страницами (.aspx), но это определенно можно сделать с помощью UserControls.

Страницы ASP.Net имеют свои собственные URL-адреса, поэтому вы пытаетесь перейти с одного URL-адреса на другой без обратной передачи, это просто не то, как это должно работать.


Использование пользовательских элементов управления (.ascx):

Создайте страницу, которая использует MasterPage и используйте что-то подобное в контенте

<ajax:UpdatePanel ...>

    <ContentTemplate>

        <asp:PlaceHolder ...>

    </ContentTemplate>

</ajax:UpdatePanel>

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

0 голосов
/ 02 марта 2009

Нет , вы не можете этого сделать, потому что главная страница фактически является элементом управления, отображаемым на конкретной странице aspx, а не фактически содержит страницу aspx, поскольку она обманчиво выглядит программно и в режиме конструктора.

Подробнее:

Однако вы можете использовать множество других элементов управления для имитации этого эффекта. Элемент управления asp: MultiView является одним из примеров, каждая «страница» может быть сделана в одном представлении и помещена в панель обновлений, что позволяет переключать ее асинхронно. В качестве альтернативы вы можете определить каждую страницу в отдельном пользовательском элементе управления и поместить их на панель обновлений, асинхронно переключая видимое свойство этих элементов управления по мере необходимости.

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

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