Page_PreRenderComplete不会在 Web 控制中触发
本文关键字:控制 Web PreRenderComplete Page | 更新日期: 2023-09-27 18:34:52
由于某种原因,Page_PreRenderComplete()
没有在用户 Web 控件中为我触发。这是我背后的代码,有什么想法吗?
public partial class Views_CMSWebParts_GSAMetaTags : System.Web.UI.UserControl
{
public string Content { get; set; }
public string LastModifiedDate { get; set; }
public string PageTitle { get; set; }
public string PageDescription { get; set; }
protected void Page_PreRenderComplete(object sender, EventArgs e)
{
if (CMSContext.CurrentDocument.NodeClassName.Equals("ctv.DailyContent")
|| CMSContext.CurrentDocument.NodeClassName.Equals("ctv.Segment")
|| CMSContext.CurrentDocument.NodeClassName.Equals("ctv.segmentContainer"))
{
Content = "news-and-articles";
//Published Date
LastModifiedDate = ValidationHelper.GetString(CMSContext.CurrentDocument.GetValue("DocumentModifiedWhen"), "");
PageTitle = CMSContext.CurrentPageInfo.DocumentPageTitle;
PageDescription = CMSContext.CurrentPageInfo.DocumentPageDescription;
}else if (CMSContext.CurrentDocument.DocumentName.Equals("Video"))
{
//using document name in this case becuase Video page type is Page (menu item)
Content = "video";
}
}
}
我不认为UserControl有PreRenderComplete事件。 页面可以,但用户控件不会。 用户控件具有预呈现事件以及呈现事件。 你可以像这样使用它:
protected void Page_Load(object sender, EventArgs e)
{
this.PreRender += new EventHandler([method name]);
}
是的,现在在 ASP.NET Web表单中,您有很多Page方法。
protected void Page_PreRenderComplete(object sender, EventArgs e)
如果调用Page_Load
函数,这将确定有效。您不必像在框架 2.0 中那样创建事件 ASP.NET 因为现在在新框架 4.6 中,将自动调用所有页面生命周期事件。检查您的网络表单"某物.aspx"页面指令。