C#代码为input标签注册onfocus事件:
InDateTextBox.Attributes["onfocus"] = "onInDateFocus ('" + InDateTextBox.ClientID + "')";
但是查看源文件发现单引号被HTML编码成“'”:
onfocus="onInDateFocus ('ctrl6_InDateTextBox')" 
单引号被编码成(去掉感叹号):&!#39;
昨天粗心,没有发现源文件中ID是不一样的。将自己的注释供参考……
/*
             * 关键是ClientID的生成模式问题,单引号HTML编码成“'”不是问题。
             * ClientIDMode属性设置:
* Inherit:继承上一级容器控件
* Predictable:默认的模式(容器控件id_模板控件id_行数)
             * AutoID:.NET 4.0以前的模式(容器控件id_ctrl(行数)_模板控件id)
             *      因为以前版本不添加前缀“容器控件id_”,所以也不能像以前一样处理。
             * Static:模板控件id
             *      问题:造成所有控件的id重名。
             * 
             * Name属性,相当于是AutoID模式。 
             */
InDateTextBox.Attributes["onfocus"] = "onInDateFocus (this.id)";