我知道为什么当前需要 runat="server" (ASP.NET 为什么 runat="server"),但一致认为如果您在设计中加入简单的默认设置,则不需要它(我当然同意)。
是否可以修改、扩展、反编译和重新创建、拦截或以其他方式更改 ASP.NET 解析 ASPX 和 ASCX 文件的行为,从而不再需要 runat="server"?例如,我假设可以对 Mono 的一个版本进行分支来实现这个目标。
如果特定要求有帮助,以下重点介绍一种设计:
- 解析时遇到配置的命名空间标签(如“asp”),默认元素的runat属性为“server”
- 在解析过程中,当遇到配置的命名空间标签(例如“asp”)时,如果元素的 runat 属性值可用,则应使用该值代替默认值
- 引入了新的页面级设置(可以在页面指令或 web.config 中设置),指定特定命名空间标记的默认 runat 值