Управление главной страницей на странице содержимого
У меня есть следующий код на главной странице:
<u1>
...............
............
.............
</u1>
<ul>
<li id="link1" runat="server"><a href="mytestfile.aspx">Test Files</a></li>
<li id="link2" runat="server"><a href="mylistitemtest.aspx">List Item Test</a></li>
<li id="link3" runat="server"><a href="Mytest2.aspx">Some Test</a></li>
</ul>
Я пытаюсь получить доступ к ссылке1 на странице содержимого как:
var pageHandler = HttpContext.Current.CurrentHandler;
if (pageHandler is System.Web.UI.Page)
{
((System.Web.UI.Page)pageHandler).Master.FindControl("nav_link1").Visible = false;
}
но я получаю ошибку как: "Ссылка на объект не установлена на экземпляр объекта"
2 ответа
У вас нет контроля с идентификатором nav_link1
на вашей главной странице это link1
Как сделать: Ссылка на содержимое главной страницы ASP.NET
Установить директиву @MasterType для ContentPage
<%@ MasterType virtualpath="~/Masters/Master1.master" %>
Затем используйте FindControl, чтобы найти то, что вы хотите на Master Page
ContentPlaceHolder mpContentPlaceHolder;
TextBox mpTextBox;
mpContentPlaceHolder =
(ContentPlaceHolder)Master.FindControl("ContentPlaceHolder1");
if(mpContentPlaceHolder != null)
{
mpTextBox =
(TextBox) mpContentPlaceHolder.FindControl("TextBox1");
if(mpTextBox != null)
{
mpTextBox.Text = "TextBox found!";
}
}