我们有一个 asp.net 自定义控件,用于我们的 webforms asp.net 项目。我重命名了控件的属性,并希望在该属性用作属性的地方出现编译时错误,但它没有发生。为什么会这样?
问问题
50 次
1 回答
2
ASP.NET 标记实际上并没有在编译时甚至在运行时进行架构检查。您完全有权编写您喜欢的任何旧标签汤 - 除非您明确地做一些没有意义的事情,否则 ASP.NET 不会抱怨。
<asp:Label runat="server" fjsdkfj="sdjkfldskfls">Hello</asp:Label>
将上述内容放在 an 上aspx
,您将不会在编译时收到任何投诉,甚至在运行时也不会收到任何投诉 - 您只会得到
<span fjsdkfj="sdjkfldskfls">Hello</span>
发送到浏览器。但是,做
<asp:Label runat="server" fjsdkfj="sdjkfldskfls" Height="ohdear">Hello</asp:Label>
在运行时你会得到一个解析器错误,因为 ASP.NET 试图转换ohdear
成一个高度值。
要更早地找到第二种类型的错误,您可以使用 ASP.NET 预编译。为了找到第一类错误,我知道除了测试之外别无他法——即使 ReSharper 似乎也没有提供任何有用的检查。
于 2012-05-29T09:34:45.193 回答