标签:控件 Asp button ClientID Button1 UniqueID Net ID
原文链接:http://www.cnblogs.com/liuxun/archive/2012/03/12/2392338.htmlasp.net控件有三个ID属性,ID、UniqueID和ClientID,但是这三个ID有什么不同?
写个例子来看看
新建一个.NET Framework 4.0的asp.net应用程序项目,vs会自动生成一个模板,里面包含几个aspx页面和一个母版页,在default.aspx页面中添加一个label控件和button控件,如图
后台写上如下代码:
string display = "ID: " + Button1.ID + "<br/>" + "UniqueID: " + Button1.UniqueID + "<br/>" + "ClientID: " + Button1.ClientID + "<br/>";
Label1.Text = display;
F5运行,如图
看出来了吗? 我们再来看看html是什么样的。。
ClientID和input控件的ID一样,UniqueID和input控件的name一样,而ID则没有出现,但是不管是ClientID还是UniqueID都包含了它。
因为asp.net控件的ID表示我们给它命名的ID,不论在服务端还是客户端程序都不会使用这个ID;UniqueID表示控件的服务端ID;ClientID表示客服端ID,在客户端JavaScript就可以通过它使用来访问该控件。
很多人在前端访问这个button时,会这样写:
document.getElementByID("Button1");
这样写的话,就错了,因为在客户端button1并不是它的ID,正确的写法应该是:
document.getElementByID("<%= Button1.ClientID %>");
当button在母版页或者是usercontrol里,它的UniqueID和ClientID会自动加上父控件的UniqueID和分隔符。在服务端默认是"$",在客户端将这些"$"转换为下滑线"_"。
参考:《庖丁解牛:纵向切入ASP.NET 3.5控件和组件开发技术》 (好书一本,强烈推荐)
转载于:https://www.cnblogs.com/liuxun/archive/2012/03/12/2392338.html
标签:控件,Asp,button,ClientID,Button1,UniqueID,Net,ID 来源: https://blog.csdn.net/weixin_30587927/article/details/99954185
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。