我有一个这样的用户控件(.ascx):
<% if (HasAccessMediaPlans) { iPortletCounter++; %>
<div class="orange-portlet-box">
<div class="HomeModulePortletTitle"><a href="<%= (RawHtml)RootPath %>MediaPlanning/Default.aspx">Plans</a></div>
<p>Create // Edit // Review</p>
</div>
<div style="clear: both;"></div>
<% } %>
其中 HasAccessMediaPlans 是在用户控件的代码后面 (.ascx.cs) 中定义的变量,它是在页面加载中分配的。
protected Boolean HasAccessMediaPlans = false;
protected void Page_Load(object sender, EventArgs e) {
HasAccessMediaPlans = SessionState.CurrentUser.HasModuleAccess(MediaString + " Plans");
}
我的问题是:如何避免在我的 usercontrol markup(.ascx) 中嵌入 <% %> 的内联服务器代码?