2010-03-18 70 views
4

控件的UniqueID被'$'删除,是否可以更改分隔符,如果有,是否有包含分隔符的某个属性?ASP.NET控件的UniqueID分隔符

+2

我永远不会依赖这样的事情,而是留在ClientID/UniqueID属性中。也许$有朝一日会变成另一个角色。但也许它会变成一个序列5个字符......你永远不会知道。 – 2010-03-18 22:40:29

回答

2

鉴于protected属性IdSeparatorClientIDSeparator,我认为它是可以改变的主题,并避免编写假设某个字符被用作分隔符的代码。这两个属性的类型都是Char,所以我会发现它们不太可能会变成使用多字符分隔符,但这仅仅是一种猜测,也是我会避免依赖的东西。

0

我想说依靠用作分隔符的确切字符是危险的。

我碰到一些旧式的JavaScript代码,传递一个UniqueID的,并且分析它像这样:

theform.__EVENTTARGET.value = s.split(":")[0]; 
theform.__EVENTARGUMENT.value = s.split(":")[1]; 

移动到较新版本的CLR导致此代码打破,因为在这个问题表示,分隔符现在是'$',而不是':'。