Моя главная страница содержит следующее:не удается получить доступ к содержимому этикетки в держателе место в главной странице
<asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
<asp:Label ID="User" runat="server" Text="Welcome, " Visible="false"></asp:Label>
</asp:ContentPlaceHolder>
Я пытаюсь получить доступ к этикетке, как это:
Label welcomeLabel;
ContentPlaceHolder cPlaceHolder;
cPlaceHolder = (ContentPlaceHolder)Master.FindControl("ContentPlaceHolder1");
if (cPlaceHolder != null)
{
welcomeLabel = (Label)cPlaceHolder.FindControl("User");
if (welcomeLabel != null)
{
welcomeLabel.Text = "Welcome, " + u.Name;
welcomeLabel.Visible = true;
}
}
Я проверил что ContentPlaceHolder1 действительно найден и использует HasControls(), он возвращает true, но я не могу получить доступ к метке.
Помогите мне?
попробуйте найти это.Master.FindControl («Пользователь»); и посмотреть, придет ли оно или нет –
В какой момент вы звоните в свой код? Кроме того, я прав, что этот код работает в контексте страницы, встроенной в другой контент-сайт? Я могу сказать, что ваш код работает здесь. – platon
@platon - этот код работает при загрузке страницы. Когда я помещаю ярлык с id = user на фактическую страницу, на которой этот код вызывается, он работает, но мое понимание основных страниц заключается в том, что я не должен этого делать. – Jackass