Судя по тому, что я уже читал, это кажется невозможным, но я хотел посмотреть, есть ли у кого-нибудь секретный трюк в рукаве или, по крайней мере, категорическое «нет».
Предположительно, главная страница - это на самом деле просто элемент управления для страницы с контентом, а не «мастер» страницы с контентом. Если бы я хотел перейти с одной страницы содержимого на другую страницу содержимого с той же главной страницей, я бы просто сказал
Response.Redirect("PageB.aspx");
Но это немедленно вызовет обратную передачу, мерцание страницы, что является дрянным способом делать что-то до ajax.
В этом текущем проекте я пытаюсь понять, смогу ли я выяснить, как асинхронно изменить текущую страницу содержимого ContentPlaceHolder на главной странице при нажатии кнопки на главной странице.
Возможно ли это, если да, то как?





Я не знаю, можно ли между страницами (.aspx), но это определенно можно сделать с помощью UserControls.
Каждая страница ASP.Net имеет свой собственный URL-адрес, поэтому вы пытаетесь перейти с одного URL-адреса на другой без какой-либо обратной передачи, это просто не так, как это должно работать.
Использование пользовательских элементов управления (.ascx):
Создайте страницу, которая использует MasterPage, и используйте что-то подобное в содержимом
<ajax:UpdatePanel ...>
<ContentTemplate>
<asp:PlaceHolder ...>
</ContentTemplate>
</ajax:UpdatePanel>
Найдите UpdatePanel и настройте его параметры в соответствии с вашими требованиями, а затем узнайте, как менять местами пользовательские элементы управления в заполнителе.
Нет, вы не можете, потому что главная страница на самом деле является элементом управления, отображаемым на определенной странице aspx, а не фактически содержащим страницу aspx, поскольку она обманчиво выглядит программно и в представлении дизайна.
Больше информации:
Однако вы можете использовать множество других элементов управления для имитации этого эффекта. Элемент управления asp: MultiView является одним из примеров, каждая «страница» может быть сделана в одном представлении и помещена на панель обновления, что позволяет переключать ее асинхронно. В качестве альтернативы вы можете определить каждую страницу в отдельном пользовательском элементе управления и поместить их на панель обновления, при необходимости асинхронно переключая свойство visible на этих элементах управления.
На самом деле существует множество различных способов добиться эффекта, аналогичного изменению заполнителя содержимого главной страницы.
Как упоминается в первой части моего ответа, я почти уверен, что использовать страницы .aspx невозможно.