阅读TRULY UNDERSTANDING VIEWSTATE作者建议:
当ASP.NET解析表单并找到runat = server的标记时,它 创建指定控件的实例。变量名称 根据您指定的ID(由...分配)实例 方式,许多人没有意识到你不必给一个控制ID 所有,ASP.NET将使用自动生成的ID。没有指定 ID有优势,但这是一个不同的主题。)
通过不指定控制ID可以获得哪些优势?我的快速搜索没有改变任何事情。谢谢你的帮助。
答案 0 :(得分:1)
如果未指定控件ID ,则无法访问该控件并在代码隐藏文件中进行更改,因此它看起来像是页面上的常量控件。我不知道这是不是有利;我认为它只是一个很少使用的选项。
我能想到的唯一优势是你有很多你不想改变的图像,但你喜欢让asp.net处理图片路径。在这种情况下,不指定控件ID是个好主意。
解析标记时,未设置为runat="server"
的任何控件都将被视为常规文本,该文本将分配给文字控件的Text
属性。因此,他们的ID不会出现在页面中。在发布数据的其他控件中,如果不包含ID,则通常仅使用名称(而不是id)呈现控件。
没有控件ID的控件也没有在带控件的表上注册,在较小的表中搜索控件可能会更快。