Asp.net 中ClientID的用法探讨
2008-10-16 17:42
495 查看
2008-08-15 12:14
关于ClientID的使用我遇到一下问题: 获取由 ASP.NET 生成的服务器控件标识符。 问题一: 用户控件的页面JavaScript中需要使用Asp.net的控件ID,出现不一致。 问题二:母版页的子页面JavaScript中需要使用Asp.net的控件ID,出现不一致。 解决办法: document.getElementById("<%=TextBox1.ClientID%>").value="1234567"; 此代码可以在客户端完成对服务器端控件的访问,由于ASP.NET会为把服务器端控件在客户端的呈现生成不同的名称,所以此功能比较有用获取。 注意采用此解决办法的前提: Asp.net的控件为静态控件(通过工具添加的控件) 问题三: 动态创建控件的ClientID的获得存在:不能在页面中采用"<%=TextBox1.ClientID%>".方法获得(不能的方法,因为控件是动态创建的);也不能在页面脚本中采用TextBox1.ClientID的方法获得(获得的ID是不正确的)。 解决办法: (CitySpecProductScheduledControl.ascx.cs代码片段 ) TextBox text = new TextBox(); text.MaxLength = 12; text.Columns = 12; text.Text = DateTime.Now.ToShortDateString(); text.ID = "dateId"; text.Attributes.Add("onclick", "calendar()"); text.Attributes.Add("class", "text"); HtmlImage dateimg = new HtmlImage(); dateimg.Src = "../CommonImages/cal.gif"; string js = string.Format("calendar({0}_{1})",this.ClientID, text.ClientID); //关键代码,按照客户端ClientID的产生规则手工生成。 dateimg.Attributes.Add("onclick", js); 以上解决办法经过1个小时的研究解决,并进行了测试没有问题 |
相关文章推荐
- Asp.net 中ClientID的用法探讨
- .net教程:Asp.net 中ClientID的用法探讨
- Asp.net 中ClientID的用法
- javaScript与asp_net-clientid用法
- ASP.NET中TimeSpan的用法
- ASP.NET泛型List的各种用法Skip、Take等
- ASP.NET Web Page应用深入探讨
- ASP.NET中Get和Post的用法
- asp.net MVC ViewData用法
- asp.net memcache 用法点滴。
- asp.net中System.DateTime.Now.ToString()的一些用法
- asp.net 控件的 ID ,ClientID ,UniqueID 区别
- ASP.NET中Get和Post的用法 Request.QueryString,Request.Form,Request.Params的区别 [转]
- ASP.NET中$#=的用法
- ASP.NET解决客户端服务器ID不一致-ClientID与ClientIDMode
- asp.net(c#) static关键字用法小结
- ASP.NET Dictionary 的基本用法示例介绍
- ASP.Net中using 的三种用法
- ASP.NET+Ext Js4.0复选框控件的用法
- Asp.net获取客户端IP常见代码存在的伪造IP问题探讨