Установить содержимое в C#


В настоящее время я учусь использовать мастер-страницы и ContentPlaceHolders в ASP.NET 3.5 и C# - и прямо сейчас я отчаянно пытаюсь редактировать содержимое asp: Content-Control через мой программный код.

Фон таков; как только кнопка нажата, я хочу, чтобы asp:контент был очищен и заполнен динамическим генерируемым контентом через *.cs-файл.

Но я не могу понять, как получить доступ к asp: Content-Control, ни через его идентификатор, ни через страницу.FindControl и т.д.

Итак, как вы можете редактировать содержимое asp: Content-Control через свой программный код?

3 2

3 ответа:

Вы можете получить доступ к ContentPlaceholder с помощью FindControl не на объекте page, а на его главной странице.

System.Web.UI.MasterPage masterPage = this.Master;
ContentPlaceHolder pageContent;

pageContent = (ContentPlaceHolder)masterPage.FindControl("YourContentPlaceholderName");

Я бы согласился, что лучше определить панель или заполнитель в этом блоке и получить к нему прямой доступ, а не пытаться изменить ContentPlaceholder

Вы можете поместить панель asp:в ContentPlaceHolder и переместить в нее разметку placeholder. Таким образом, вы можете добраться до контейнера панели и управлять его содержимым.

Вы забыли добавить runat= "сервер" в asp: Content-Control?

С уважением,

М.