Я пытаюсь передать значение в Page.Title на вложенной главной странице веб-форм, со страницы макета Razor (_layout.cshtml) или в другом месте внутри бритвы.
Я пытался использоватьразличные комбинации Page.Title с этим, Master, Parent и так далее.Я пытался получить доступ к ViewState изнутри Razor.Я пытался использовать ViewBag с главной страницы WebForms.До сих пор наиболее успешной попыткой было использование переменной Session, которая, к сожалению, не обновляет заголовок до следующей загрузки страницы (обновленный заголовок всегда устанавливается для предыдущей страницы вместо текущей).
Причина установки Заголовка таким образом двояка.Первая часть заключается в том, что я не могу изменить корневую мастер-страницу WebForms с тегом.Во-вторых, изменение его с помощью JavaScript / jQuery может привести к проблемам с SEO (поисковой оптимизацией).Если есть способ обойти проблему SEO, я, вероятно, могу избежать всего этого, используя jQuery.
Обычно я использую следующую статью для встраивания Razor в WebForms: http://www.eworldui.net/blog/post/2011/01/07/Using-Razor-Pages-with-WebForms-Master-Pages.aspx
Единственный способ, которым я нашел, что я могу изменить заголовок, это установить Page.Title из кода «вложенной главной страницы WebForms».К сожалению, у меня нет доступа к Razor отсюда.Я пробовал это от Page_Load и Page_PreRender.Я пытался реализовать метод для PreRenderComplete, но безуспешно.Возможно ли, что я мог бы сделать это успешно с другой точки в жизненном цикле страницы ASP.Net?
Моя иерархия страниц выглядит следующим образом:
корневая главная страница WebForms (без возможности изменения, имеет тег)
вложенная мастер-страница WebForms (без кода)
мастер-страница MVC (без кода)
ASPX-страница (отображает Razor)
MVC Layout
MVC View
Есть идеи, как получить заголовок от Razor для кода вложенной главной страницы WebForms?Есть ли лучший, более простой способ сделать это, что я упустил из виду?