我正在使用这个过于简化的代码块:
<% if (MyCondition())
{ %>
<myUsedControl/>
<% }
else
{ %>
<myUnusedControl/>
<% } %>
在我的 ascx 文件中。我假设当 ASP.Net 读取此页面时,如果 MyCondition() 返回 true,它将完全忽略 else 子句中的任何内容。情况并非如此,当我加载页面时,myUnusedControl 的 PageLoad 和 OnPreRendered 事件仍在被触发,即使 myUnusedControl 在浏览器显示页面时被正确隐藏。
为什么是这样?如何确保在呈现页面时完全忽略一大块 ascx 或 aspx?
谢谢你的时间。