xhtmlConformance mode="Legacy" しないとユーザコントロールのコロンがドル記号になる

8 年ぶり 2 回目ぐらいで遭遇したのでメモ。 VS2003(ASP.NET 1.1) からアップグレードする際、Web.config に

<xhtmlConformance mode="Legacy"/>

を付けないとユーザコントロールのレンダリング

<select name="ucLookup:cboList" ...

から

<select name="ucLookup$cboList" ...

に変わってしまう。(記号がコロンからドルに変わってしまう)
なおこの設定は VisualStudio のアップグレードウィザードに従っていれば設定されている。
何かの拍子に消してしまわないよう注意。

http://bytes.com/topic/asp-net/answers/433532-control-name-change-asp-net-2-0-generated-html
http://weblogs.asp.net/scottgu/gotcha-don-t-use-xhtmlconformance-mode-legacy-with-asp-net-ajax