对ClientID使用GUID

时间:2014-04-02 16:06:31

标签: html asp.net clientid

有没有人尝试过为ClientID使用GUID。我问的原因是因为我有一个非常丰富的UI应用程序,来回发送的HTML越来越大。该HTML的一大部分是基于父级串联构建的控件ID。例如:Container_Tab_FirstTab_Control。

一种可能的解决方案是生成GUID作为ClientID。这样ClientID最多可以包含32个字符。

有没有人曾尝试过这样的事情?

我在.NET 4.0上

3 个答案:

答案 0 :(得分:2)

您可以使用ClientIDMode enumeration并指定static。但是,您必须管理每个控件的ClientID的唯一性。

使用GUID不是一个好主意,因为在客户端代码中访问它们很困难。您将需要维护GUID与其对应的控件之间的映射。

但是你应该真的认为拥有一个冗长的客户端ID是否真的对你的页面性能有害。您不应该担心客户端ID,而应该找到一种方法来限制页面上显示的控件/数据的数量,实现分页等功能。

答案 1 :(得分:1)

如果您的网页上有太多控件,可能是时候重新考虑您的体系结构,而不是从较短的ID中获得更好的性能。

分页你的数据(通过AJAX加载)。您还可以通过Ajax加载页面的整个部分,并构建动态网页。

答案 2 :(得分:0)

这通常是一个坏主意。

但如果您有兴趣,可以将ClientIDMode属性设置为Static,这不会更改ID。

ID将保持不变。