用户控件自动加前缀的问题,加js脚本的问题
大家都应该知道,当创建一个用户自定义控件UserControl,拖放到页面上后,asp.net会自动在控件的ID前加上页面的ID,类似pageID_控件ID,这样可以避免id重名
但是存在一个问题,如果我在控件中加入js脚本,如果用 document.getElementById()方法获取某个控件,就会因为名称的改变而取不到,我也想到过一个办法,例如:在用户控件中初始化一个public的字符串,然后,例如:public string str="";
page_load()
{
str = base.PageID;
}
然后在客户端加入这个串:
假设有个js方法:function GetApp(s){document.getElementById(s+"_"+"客户端控件ID")}
调用:onclick='GetApp("<%=str%>")'
虽然这样也能解决问题,但是毕竟比较麻烦,并且在usercontrol中再嵌入UserControl就会更麻烦,请问有没有更好的办法..
请不吝赐教..