我尋覓了很多關於「如何編程更改標題」,只有得到這個結果不工作,至少在剃刀腳本更改頁面標題在DNN編程方式從剃刀
DotNetNuke.Framework.CDefault tp = (DotNetNuke.Framework.CDefault)this.Page;
tp.Title = "New Title Here";
這在剃刀主機腳本中不起作用,是否有任何其他解決方案可以從Razor主機腳本更改頁面標題?
我尋覓了很多關於「如何編程更改標題」,只有得到這個結果不工作,至少在剃刀腳本更改頁面標題在DNN編程方式從剃刀
DotNetNuke.Framework.CDefault tp = (DotNetNuke.Framework.CDefault)this.Page;
tp.Title = "New Title Here";
這在剃刀主機腳本中不起作用,是否有任何其他解決方案可以從Razor主機腳本更改頁面標題?
多次試驗和合並等代碼後,我已經找到了解決辦法
使用這會給你訪問該頁面的訪問,所以你可以做任何你想做的事情,改變標題等
var pageObj = Context.CurrentHandler as Page;
pageObj.Title = "My New Title for the page";
而這個代碼就可以訪問到DNN頁面,讓您可以插入控件等
DotNetNuke.Framework.CDefault tp = (DotNetNuke.Framework.CDefault)Context.CurrentHandler;
tp.FindControl("Head").Controls.Add(NewControlObj);
感謝分享Pola。在DNN的C#Razor上非常出色。 – MDM
@MDM很高興它幫助:) –
我只是想增加波拉的答案的東西,會^ h開箱即用「開箱即用」。
很難找到直接與DNN一起工作的示例,所以我提交以下內容;
@{
System.Web.UI.HtmlControls.HtmlMeta objMetaDescription = new System.Web.UI.HtmlControls.HtmlMeta();
objMetaDescription.Name = "DESCRIPTION";
objMetaDescription.Content = "This will be the meta description content";
DotNetNuke.Framework.CDefault tp = (DotNetNuke.Framework.CDefault)Context.CurrentHandler;
tp.FindControl("Head").Controls.Add(objMetaDescription);
}
這是爲我工作的唯一途徑:
((DotNetNuke.Framework.CDefault)this.Page).Title = "your title";
你可以訪問你的模板/佈局文件(假設有一個)?你可以在html的標題部分放一個'@ ViewBag.Title',這樣你就可以在所有頁面中設置 – mituw16
該模板是一個DNN皮膚,它是一個ascx文件 –