asp.net服务器控件解析到客户端时获取客户端控件ID的方法

对于服务器端控件
使用document.getElementById('Id')
在客户端读取时有些困难
因为.netframework会把服务器控件解释到客户端时改变控件的ID名字
比如"tbText"会变成"ctl00$aspNetForm$tbText"类似这种名字。

如果要在客户端alert一个textbox的值,或者做一些其他操作,怎么抓到这个控件的名字呢。。。。


也许有人会按照.net的命名规范,按照字符串拼接,拼出他解析后的html控件名字。

也许还有人通过后台代码,在textbox加个autopostback属性,然后后台事件代码写一段response.write的JavaScript。
前者可以完成客户端操作
但是这样做,万一哪天.netframework平台版本升级改变了命名规范怎么办啊?
那所有客户端的javascript:document.getElementById('Id') 岂不是要重写?

后者可以避免上述问题,但是为了alert一个值,去和服务器交互一下,让用户看到你的页面其实是刷新了一下,这样其实也浪费服务器资源。
(也许有人想到了ajax,但是ajax其实后台还是和服务器交互的)


其实有一个很简单的办法

大家可以这样解决这个问题

var p=document.getElementById(' <%=tbText.ClientID %>')

<%=tbText.ClientID %> 就可以把服务器控件在客户端呈现出来的ID抓出来了。

哈哈,简单吧

这样在客户端的js,抓服务器控件就很简单了,
后台还是专注于和数据库打交道,
那些些个性化的操作,就完全可以在客户端进行

摘自:http://tiantainanhai.blog.163.com/blog/static/370859112009426104716280/

转载于:https://www.cnblogs.com/sophist/archive/2011/05/19/2050731.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值