Записи с меткой «contentplaceholder»

Доступ к MasterPage из страницы ASPX

25.08.2008

Часто приходится в своей работе пользоваться MasterPages и решил я поделиться тем, как можно обращаться из ContentPlaceHolder‘a к MasterPage.

Например, на MasterPage находится CheckBox, к которому мы хотим обратиться: снять пометку, или, наоборот - поставить. Вот его код в Site.master:

<asp:CheckBox ID=”chkVideo” runat=”server” CssClass=”chkText” Text=”только с видео” EnableViewState=”False” Checked=”True” />

В Site.master.cs нужно поместить следующий код:

public bool MyChkVideo
{
get
{
return chkVideo.Checked;
}
set
{
chkVideo.Checked = value;
}
}

А в aspx в страницу, сразу после

<%@ Page Language=”C#” MasterPageFile=”~/Site.master” AutoEventWireup=”true” CodeFile=”Search.aspx.cs” Inherits=”Search” %>

строчку

<%@ MasterType VirtualPath=”~/Site.master” %>

Теперь к элементу checkbox можно обратиться из MasterPage! В aspx.cs, через конструкции:

bool blnChkAuto = Master.MyChkAuto;
или Master.MyChkAuto = false;

Точно так же, можно обращаться к любым другим контролам на MasterPage.