Как установить Заголовок Страницы от страницы веб-контента в ASP.NET 3.5

Я прочитал довольно мало сообщений/статей о том, как сделать это, и я все еще не устанавливал название страницы от страницы содержания. Мои страницы представляют OK кроме, я не мог установить заголовок от страницы содержания (вся страница установили Заголовок согласно основной странице). Вот codebehind для моей основной страницы:

Partial Class zSEO
Inherits System.Web.UI.MasterPage
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
        Page.Header.Title = "Dynamically set in Master page"
    End Sub
End Class

Вот остальная часть основной страницы:

<%@ Master Language="VB" 
EnableTheming="true"
Inherits="zSEO" 
CodeFile="zSEO.master.vb" %>

 
     
         
     
 
 

Все же именно на странице веб-контента я хочу установить значение для страницы, и я поместил это в свою тестирующую страницу содержания:

Public Partial Class zShowAd
Inherits System.Web.UI.Page

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
    Page.Header.Title = "Dynamically set TITLE value in the content(child) page"
End Sub

End Class

Странно, я не могу заставить отладчик останавливаться на строке выше на странице содержания - только на соответствующей строке на основной странице. Очевидно, я смущен на этом.

Я читал существуют другие способы сделать это, но это, казалось, было возможно от того, в чем я читал в учебном руководстве Scott Mitchell: установка Dynamically название страницы в ASP.NET. А именно, я пытался следовать за этим от статьи: "Кроме того, при использовании основных страниц этот код может работать, как записано, или от основной страницы или от страницы ASP.NET, которая использует основную страницу. В таком сценарии регион должен быть определен на основной странице, но страница ASP.NET может все еще получить доступ к нему через Page. Заголовок".

9
задан John Adams 19 February 2010 в 00:46
поделиться

4 ответа

Итак, что должно произойти, это

MasterPage.Master

Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init
    Me.Page.Title = "Dynamically set in Master page"
End Sub

Default.aspx

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    Me.Page.Title = "Dynamically set in ASPX page"
End Sub

Таким образом, заголовок главной страницы устанавливается ПЕРЕД заголовком страницы содержимого. Если вы не задаете заголовок на странице содержимого, главная страница будет заголовком по умолчанию. Если вы установите заголовок на странице содержимого, он заменит его.

10
ответ дан 4 December 2019 в 08:51
поделиться

SaveFileDialog используется с ShowDialog () , чтобы показать его пользователю, и если это успешно, используя OpenFile () , чтобы получить (Файл) Поток , что вы пишете. Пример на странице msdn .

К ListBox можно получить доступ через свойство Items , которое является просто коллекцией элементов в нем.

-121--4903762-

Необходимо помнить, что MasterPage является дочерним элементом управления Страницы, поэтому событие OnLoad инициирует после OnLoad

В вашем сценарии/примере страница будет устанавливать заголовок, затем шедевр будет устанавливать его снова после этого.

Скотт Аллен имеет хорошую статью об этом специально для Master Page 's, дать его быстро прочитать, чтобы почувствовать порядок жизненного цикла .

-121--3255173-

Проблема заключается в том, что метод Page_Load на странице выполняется до метода Page_Load на странице элементов управления пользователя, а страница-шаблон фактически является элементом управления пользователя.

Вместо него можно использовать метод Page_Init на странице-шаблоне.

6
ответ дан 4 December 2019 в 08:51
поделиться

Еще одно решение, которое я иногда использовал, - поместить contentplaceholder между тегами title на главной странице, затем вы можете использовать элемент управления label в теге content и вывести его на эту страницу.

таким образом вы можете дать странице заголовок после того, как элементы управления опубликуют ответ, например.

0
ответ дан 4 December 2019 в 08:51
поделиться

Вы должны помнить, что MasterPage является дочерним элементом управления страницы, поэтому событие OnLoad запускается после ] событие страницы OnLoad .

В вашем сценарии / примере страница задает заголовок, а затем мастер-страница устанавливает его снова. Либо установите его позже в жизненном цикле, либо оберните дополнительную логику вокруг того, кто его, возможно, установит?

Скотт Аллен написал хорошую статью об этом специально для Master Page, быстро прочтите, чтобы понять порядок жизненного цикла .

3
ответ дан 4 December 2019 в 08:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: