いくつかのマークアップと .NET ユーザー コントロール マクロをループでレンダリングする XSLT マクロがあります。つまり、xslt マクロ内に複数の usercontrol マクロがあります。
<xsl:for-each select="$node/* [@isDoc]">
//Some markup etc...
<xsl:value-of select="umbraco.library:RenderMacroContent('<?UMBRACO_MACRO NodeId="@id" macroAlias="LogTag"></?UMBRACO_MACRO>', @id)" disable-output-escaping="yes"/>
</xsl:for-each>
usercontrols マークアップからのマークアップは問題なくレンダリングされますが、内のすべてがPage_load
実行されません。何故ですか?
ユーザーコントロールのマークアップは次のとおりです。
<div class="logTag" id="Tag" runat="server">
<img src="someimage.png" alt="image"/>
</div>
コードビハインド:
public int NodeId { get; set; }
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack)return;
var tools = new Tools();
var userId = (Int32)Membership.GetUser().ProviderUserKey;
Tag.Visible = tools.GetLog(NodeId, userId);
Response.Write("Node=" + NodeId + " - User=" + userId + "<br />");
}
Response.Write も Tag.Visible も機能していません。ユーザーコントロールマクロを空白で直接テストしてみました-正常に動作します! これは不可能ですか、それとも何か間違っていますか?