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