博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ASP.NET 4.0的ClientIDMode=”Static”未必是最好
阅读量:7126 次
发布时间:2019-06-28

本文共 970 字,大约阅读时间需要 3 分钟。

ASP.NET 4.0新增的ClientIDMode是一項重大的更新,不知這是什 的話,。 預設ClientIDMode是Inherit 不過我想大多數人都會把焦點放在ClientIDMode=”Static”。

由於預設是Inherit,ClientIDMode會以預設的AutoID去制定Controls ID,或者有人會直接在Page Detective把ClientIDMode設定為”Static”供ClientIDMode去Inherit。

<%@Page ClientIDMode="Static"%>

那就不用每個WebControl都設定一次,但問題就來了,部份Third Party的WebControls未必能可以在Static ID下運作,特別是需要ClientScript做CallBack的,可能會找不到Render HTML後的ID。 目前至少AjaxControltoolKit中的AsyncFileUpload已經要設定ClientIDMode=”AutoID”才能正確運作。

而值得看看的是Predictable Mode,Predictable 主要是給Data Control使用,例如Repeater,DataList這些會重複Generate HTML Element的WebControls。 因為當你制定ItemTemplate時,你不可能期望每一項Item中的Controls ID都相同,同樣亦不合理,例如Repeater:

        Row1             Row2    

 

所以”Predictable”的出現就是給你設定ClientIDRowSuffix property,自行制定。其實我會建議在DataControl中ItemTemplate或EditTemplate下,所有Web Control都加上ClientIDMode為AutoID或者Predictable,即使設成AutoID感覺上很多餘,但基於有override的可能性,都是加上好一點。

或者ASP.NET老手已經深明這些道理,但剛學ASP.NET的話,亦無需要太追求簡短的ID,這類型ID,”ctl00_ContentPlaceHolder1_HideProductImage”,我們都習慣了。

转载地址:http://aweel.baihongyu.com/

你可能感兴趣的文章
inode 索引节点和软硬链接
查看>>
文本处理工具基础(grep系、sed、awk等)
查看>>
Android常用URI收藏
查看>>
团队用过最好的bug管理软件-delbug管理
查看>>
Swift和OC的区别
查看>>
Java下一个简单的数据库分库帮助类
查看>>
Thread初探
查看>>
磁盘的读写原理
查看>>
配置防盗链、访问控制Directory针对目录、访问控制FilesMatch针对链接
查看>>
Tomcat 仅用ip和端口 不用项目名就能访问项目
查看>>
LNMP平台部署及应用
查看>>
appium python 实例链接
查看>>
redis 关于string数据类型的学习
查看>>
上一个项目的开发中需要实现从word中读取表格数据的功能,在JAVA社区搜索了很多资料,终于找到了两...
查看>>
IP SLA冗余切换
查看>>
关于安全运维中,网络及安全设备基线设置的方法和必要性。
查看>>
nodejs渐入佳境[24]-用户权限-express+mongoDB+authtoken
查看>>
关于GITLAB若干权限问题
查看>>
强大的PDF创建和管理控件ActivePDF Toolkit
查看>>
linux下DNS的配置
查看>>