本文介绍了Sitecore 8:共享.ascx文件时获取子布局项目的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有两个子布局:Grid-1-2和Grid-2-1。
这两个子布局共享单个AScX文件(这不是一个很好的Sitecore实践,但我以这种方式需要它)。问题是在AScX代码后面,我想看看当前选择的网格是Grid-1-2还是Grid-2-1?!
我已尝试使用数据源和RenderingId技术,但没有效果。
编辑
我想知道是否可以从子布局的"data"部分获得"Parameters"字段。这样就行了。欢迎所有建议。请帮帮忙!!
推荐答案
我们在基类上有以下方法,我们的所有子布局控件都继承自.您可以只在每个子布局上传递一个参数来标识它,并使用GetParameter方法检索它。例如name="Grid-1-2"等
public string GetParameter(string key, string defaultValue = null)
{
Sublayout s = this.SitecoreSublayout;
if (s != null)
{
if (!String.IsNullOrWhiteSpace(s.Parameters))
{
NameValueCollection pars = HttpUtility.ParseQueryString(s.Parameters);
if (pars != null)
{
return pars[key];
}
}
}
return defaultValue;
}
protected Sublayout SitecoreSublayout
{
get
{
Sublayout parent = this.Parent as Sublayout;
return parent;
}
}
这篇关于Sitecore 8:共享.ascx文件时获取子布局项目的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!