我经常搜索"如何以编程方式更改标题"并且只有这个结果不起作用,至少在Razor脚本中
DotNetNuke.Framework.CDefault tp = (DotNetNuke.Framework.CDefault)this.Page;
tp.Title = "New Title Here";
这在剃刀主机脚本中不起作用,还有其他解决方案可以从Razor主机脚本更改页面标题吗?
答案 0 :(得分:4)
经过多次试验并合并其他代码后,我找到了解决方案
使用此功能可以访问页面访问权限,因此您可以随意使用它,更改标题等。
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);
答案 1 :(得分:1)
我只想在Pola的回答中添加一些有望“开箱即用”的内容。
很难找到直接使用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);
}
答案 2 :(得分:0)
这是我的唯一方式:
((DotNetNuke.Framework.CDefault)this.Page).Title = "your title";