我試圖在嵌套的WebForms母版頁中,從我的Razor佈局頁面(_layout.cshtml)或剃刀內的其他任何位置向Page.Title傳遞一個值。將標題從Razor頁面傳遞到WebForms主頁頁面
我已經嘗試過使用這個,Master,Parent等的Page.Title的各種組合。我試圖從Razor內部訪問ViewState。我試圖從WebForms主頁面使用ViewBag。到目前爲止,最成功的嘗試是使用Session變量,但不幸的是,在下一頁加載之前不會更新標題(更新後的標題始終爲前一頁而不是當前頁設置)。
以這種方式設置標題的原因是雙重的。第一部分是我無法更改根WebForms主頁,其中包含標籤。第二個是使用JavaScript/jQuery改變它可能會導致SEO(搜索引擎優化)問題。如果有解決SEO問題的方法,我可以通過使用jQuery來避免所有這些。
我通常使用下面的文章,以實現內部的WebForms嵌入剃刀: http://www.eworldui.net/blog/post/2011/01/07/Using-Razor-Pages-with-WebForms-Master-Pages.aspx
我發現我可以更改標題的唯一方法是通過從代碼隱藏設置Page.Title 「嵌套的WebForms主頁」。不幸的是,我似乎沒有從這裏進入剃刀。我已經從Page_Load和Page_PreRender嘗試過。我試圖爲PreRenderComplete實現一個方法,但沒有取得任何成功。是否有可能從ASP.Net頁面生命週期的不同點成功完成這項工作?
我的頁面層次結構如下所示:
根的WebForms母版頁(不修改能力,有標籤)
嵌套的WebForms母版頁(W /代碼隱藏)
MVC碩士頁(代碼隱藏)
ASPX頁面(渲染剃刀)
MVC佈局
MVC查看
任何想法如何從Razor獲得標題到嵌套的WebForms主頁的代碼隱藏?有沒有更好,更簡單的方法來做到這一點,我忽略了?