有没有人尝试过为ClientID使用GUID。我问的原因是因为我有一个非常丰富的UI应用程序,来回发送的HTML越来越大。该HTML的一大部分是基于父级串联构建的控件ID。例如:Container_Tab_FirstTab_Control。
一种可能的解决方案是生成GUID作为ClientID。这样ClientID最多可以包含32个字符。
有没有人曾尝试过这样的事情?
我在.NET 4.0上
答案 0 :(得分:2)
您可以使用ClientIDMode
enumeration并指定static
。但是,您必须管理每个控件的ClientID的唯一性。
使用GUID不是一个好主意,因为在客户端代码中访问它们很困难。您将需要维护GUID与其对应的控件之间的映射。
但是你应该真的认为拥有一个冗长的客户端ID是否真的对你的页面性能有害。您不应该担心客户端ID,而应该找到一种方法来限制页面上显示的控件/数据的数量,实现分页等功能。
答案 1 :(得分:1)
如果您的网页上有太多控件,可能是时候重新考虑您的体系结构,而不是从较短的ID中获得更好的性能。
分页你的数据(通过AJAX加载)。您还可以通过Ajax加载页面的整个部分,并构建动态网页。
答案 2 :(得分:0)
这通常是一个坏主意。
但如果您有兴趣,可以将ClientIDMode
属性设置为Static
,这不会更改ID。
ID将保持不变。