通常、Sitecore で現在のアイテムにアクセスする場合は、Sitecore.Context.Item
. これは、エンド ユーザーが使用するツールを作成する場合にはうまく機能しますが、Sitecore 管理者が使用するツールには適していません。Content Editor
それ自体にカスタム フィールドとして何かを表示したい場合、 は への参照であり、エディタで選択されたノードへContext.Item
の参照ではありません。Content Editor
ほとんどの場合、プロパティを使用してこれを回避できますがItemID
、フィールドにイベント ディスパッチャーがある場合、それらは ItemID にアクセスできなくなります。例えば:
protected override void OnPreRender(EventArgs e)
{
if (IsEvent)
{
// ItemID is defined here!
Button live = FindControl(GetID(LiveButton)) as Button;
if (live != null)
{
live.ServerProperties["Click"] = string.Format("{0}.LiveClicked", ID);
}
}
}
public void LiveClicked()
{
// ItemID is blank here!
DoSomething();
}
リスナーで ItemID にアクセスするにはどうすればよいですか (LiveClicked
上記のように)?