关于ID变成ctl00$开头问题

为这个问题搞了好久,郁闷的要死。

我有一个母版页,上面有用户名,密码输入框,还有一个登入的LinkButton。

现在有个子页,在子页上登入。我要做的事情就是输入完密码后按回车可以执行LinkButton的单击事件。就这么简单的一个事情,为之查了多少资料啊,研究来研究去,最后一一道来:

LinkButton

1.LinkButton不像真的按钮,它没有Click方法,所以肯定不能是document.all[button].click();

2.不明白为什么Asp.Net对于TextBox只有TextChanged事件,唉!想知道在TextBox中按了什么键,幸好有JavaScript还有Event对象。给TextBox加个onkeypress事件,写在后台代码里面

txtPass.Attributes.Add("onkeypress", "if(event.keyCode == 13){__doPostBack('"+lbtnLogin.ClientID.Replace('_','$')+"','')}");

3.就为上面这一句代码,研究了N久。用ClientId得到是ctl00_lbtnLogin。死活不行,看了源文件LinkButton的代码中的ID参数却是用“$”。

<a id="ctl00_lbtnLogin" href="javascript:__doPostBack('ctl00$lbtnLogin','')">登入</a>


我用的是VS2008,asp.net3.5。以为发布后会可以的(很多问题Debug模式下不行),结果也不行。最好只好把"_"替换成"$"了,这样以来,控件的ID中就不能有“_”了,真郁闷啊大哭

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值