我有一个包含页眉和页脚信息的主布局。此外,我有使用具有主布局的特定渲染项的页面。如果使用特定渲染项的页面呈现,则应从默认标题值更改主布局中的标题。
这是我的伪代码。
namespace renderingItem1
public override void Initialize(Rendering rendering)
{
//code here
}
public string anotherMethod()
{
string str = "";
if (Initialized == true) {
str = "Rendering Item is called in this page";
}
return str;
}
// In another project, added 'renderingItem1.dll' into references in abother project
// this is masterLayout.cshtml
@using renderingItem1
@string pageTitle = "";
@if (redneringItem1.anotherMethod() is NOT empty) {
pageTitle = redneringItem1.anotherMethod();
}
在masterLayout.cshtml中,它始终输出默认值str = ""
答案 0 :(得分:1)
将Initialized
属性添加到您的班级,并将其设置为Initialize
为true:
public bool Initialized { get; set; }
public override void Initialize(Rendering rendering)
{
Initialized = true;
...
}
顺便说一句,你的anotherMethod
不能是静态的 - 如果它是静态的,你就无法访问非静态Initialized
属性而你将无法检测到当前的状态你的渲染实例。