2014-01-16 3 views
0

У меня есть метка с именем headerLabel на моей главной странице, и я хотел бы установить ее текст в заголовке на странице содержимого. Как мне это сделать?ASP.NET: Передача данных с страницы содержания на главную страницу

+1

вы можете использовать [этот вопрос] (http://stackoverflow.com/questions/1092784/how-to-control-elements-on-a-asp-net- master-page-from-child-page) – Amir

ответ

2

На вашей главной странице создать общественную собственность - что-то вдоль линий:

public string LabelValue 
{ 
    get{ return this.headerLabel.Text;} 
    set{ this.headerLabel.Text = value;} 
} 

Затем на странице ребенка вы можете сделать это:

((MyMasterPage)this.Master).LabelValue = "SomeValue"; 
+2

Вы должны предоставить публичное свойство 'headerlabel', которое возвращает эту метку. Тогда этот подход лучше, чем подход ['FindControl'] (http://stackoverflow.com/a/21160299/284240). В противном случае вы не сможете получить к нему доступ напрямую, поскольку элементы управления «защищены» по умолчанию. –

+0

Хорошее предложение - я обновил, я всегда предпочитаю доступ к свойствам - мне нравится идея иметь публичную собственность на главной странице, а не публичный ярлык. – Liath

+0

Как мне добавить публичное свойство? Мой проект говорит, что «MasterPage» не содержит определения для «LabelValue» – Phil

2

Вы должны найти контроль, это идентификатор на странице контента, а затем установить свойство текста на этикетке следующим образом:

(Label)MasterPage.FindControl("headerLabel").Text="Your Title"; 

лучше проверить nu Л.Л. перед назначением свойства текста, как этот

Label mylbl= (Label) MasterPage.FindControl("headerLabel"); 
    if(mylbl!= null) 
    { 
     mylbl.Text = "Your Title"; 
    } 
+0

Жесткие имена управления кодированием как строки BAD! – Amir

+0

@Amir Я согласен с точкой, но вы должны предположить, что некоторые вещи установлены, иначе вы никогда не сможете перенаправить или написать javascript! – Liath

+0

Следуйте за этой статьей. Он описал весь способ отправки данных на главную страницу, такую ​​как itle, Meta Tags и другие HTML-заголовки на главной странице. https://docs.microsoft.com/en-us/aspnet/web-forms/overview/older-versions-getting-started/master-pages/specifying-the-title-meta-tags-and- другие в HTML-заголовки-в-мастер-страницы-сСт –

Смежные вопросы