在处理一个相当大的 Web 应用程序项目时,我决定通过使用CompilationMode="Never" @Page 属性标记一些页面和控件来获得一点新鲜空气。到目前为止一切顺利,按预期工作,然后它发生了。我将要解释的一个极端案例的表现出乎意料地表现得很好。此方案是嵌套母版页。
继续之前的快速预告。如果您将顶部母版页标记为 CompilationMode=" Always ",并且将其下方的所有其他主页标记为 CompilationMode=" Never ",您认为可以嵌套多深?不,它不是无限的,也不是 ASP.NET 拥有的一些内部数字。它的2。为什么?- 我不知道,我希望你们中的一些聪明人能启发我?
我附上了一个包含 5 个嵌套母版页的项目来演示我在说什么:嵌套母版页 Web 应用程序测试项目。
另一个意外工作的极端情况 - 如果您有 5 个嵌套母版页,请将第二个更改为 CompilationMode="Always",将所有其他页面更改为 CompilationMode="Never"。您会注意到第三个母版页被应用了两次!
请帮助我了解我所做的事情是否不正确,或确认问题。
ASP.NET 运行时版本:2.0,.NET:3.5
编辑:
附加的项目将所有母版页设置为 CompilationMode=" Never "。ASPX 页面根据需要显示。将第一个 master (Site.master) 更改为 CompilationMode="Always" 以查看我在说什么。