我们正在使用混合剃须刀引擎在Sitecore中创建组件。
我需要获取渲染定义ID,但我无法得到它。
这是继承自baseComponent
Sitecore.Web.UI.WebControl
类
protected override void DoRender(HtmlTextWriter output)
{
string razorpath = RazorPath;
Model = GetViewModel();
var itemId = ID; //renderingID || getitem() also not working
HttpContext.Current.Response.Write(itemId);
Guid itemGuid;
if (Guid.TryParse(itemId, out itemGuid))
{
var webControl = ContentStore.GetItem<WebControl>(itemId);
if (webControl != null && string.IsNullOrEmpty(webControl.View))
razorpath = webControl.View.Replace("/WebControls", "");
}
var renderedContent = TemplateExpander.ExpandTemplate(razorpath, Model);
output.Write(renderedContent);
}
答案 0 :(得分:0)
不完全确定您的目标是什么,但由于您继承自Sitecore.Web.UI.WebControl,因此您可能会遇到以下情况:
var p = Parent as Sublayout;
var rId = p.RenderingID;