从 Kentico 中的自定义类访问 Webpart 属性
Posted
技术标签:
【中文标题】从 Kentico 中的自定义类访问 Webpart 属性【英文标题】:Access Webpart properties from a custom class in Kentico 【发布时间】:2018-03-27 10:29:54 【问题描述】:我有一个名为 OverrideMacros.ascx 的 Webpart 和一个名为“MetaTagReplace”的公共属性
public partial class CMSWebParts_VLine_Management_OverrideMacros : CMSAbstractWebPart
protected void Page_Load(object sender, EventArgs e)
//Swtich to check whether to replace exiting <meta> tags with modified <meta> tags.
public bool MetaTagReplace get; set;
我想从 App_Code 中的自定义类访问此 Web 部件属性“MetaTagReplace”。我怎样才能做到这一点?以下是我到目前为止所做的。
CMSAbstractWebPart overrideMacrosWebPart = RequestStockHelper.GetItem("OverrideMacros") as CMSAbstractWebPart;
if (overrideMacrosWebPart != null)
overrideMacrosWebPart 始终为空
【问题讨论】:
从架构设计的角度来看,从另一个 Web 部件、页面或类访问 Web 部件的属性是不正确的 - App_Code 中的类不能依赖于某些 Web 部件! 【参考方案1】:您必须引用完整的类名才能访问该属性。 CMSWebParts_VLine_Management_OverrideMacros
。此外,您的 webpart 中的属性编码不正确。如果你想利用 Kentico 中的 UI 功能,它应该是这样的
get return ValidationHelper.GetString(GetValue("PropertyName"), "");
也许 read the Kentico documentation 在开发 webparts 上。
【讨论】:
以上是关于从 Kentico 中的自定义类访问 Webpart 属性的主要内容,如果未能解决你的问题,请参考以下文章
Kentico,带有用于上传 CSV 的 Web 部件的模块