1
我们有一个asp.net自定义控件,用于我们的webforms asp.net项目。我重命名了一个控件的属性,并期望在该属性被用作属性的地方发生编译时错误,但它不会发生。为什么这样?编译错误的属性
我们有一个asp.net自定义控件,用于我们的webforms asp.net项目。我重命名了一个控件的属性,并期望在该属性被用作属性的地方发生编译时错误,但它不会发生。为什么这样?编译错误的属性
在编译时甚至在运行时,ASP.NET标记实际上并未进行模式检查。您完全有权编写任何您喜欢的旧标签汤 - ASP.NET不会抱怨,除非您明确地做了一些毫无意义的事情。
<asp:Label runat="server" fjsdkfj="sdjkfldskfls">Hello</asp:Label>
把上面的上aspx
,你会得到不抱怨在编译,甚至也不是在运行时 - 你只得到
<span fjsdkfj="sdjkfldskfls">Hello</span>
发送到浏览器。然而,做
<asp:Label runat="server" fjsdkfj="sdjkfldskfls" Height="ohdear">Hello</asp:Label>
,并在运行你会得到一个解析错误,因为ASP.NET试图ohdear
转换为高度值。
要更早地找到第二种类型的错误,可以使用ASP.NET预编译。为了找到第一类错误,我知道没有别的方法比测试 - 即使ReSharper似乎也没有提供任何有用的检查。
也许该属性没有被使用? – Oded