在web用户控件中加入服务器控件后
客户端显示的id 自动加上了一些前缀怎么让服务器控件在客户端显示的ID就是服务器控件的ID在编写客户端事件的时候好麻烦!!!!!!!!

解决方案 »

  1.   

    >>>>>>怎么让服务器控件在客户端显示的ID就是服务器控件的ID没办法的,另向客户端输出控件的ClientID,这样你就能通过document.getElementById来操作了,或者通过document.all来作循环,是客户端的控件的id是否包括你找的ID字符串
      

  2.   

    前后台ID是不同的概念。你要求客户端ID如你所愿,唯一办法是放弃所有asp.net控件。
      

  3.   

    Button btn = new Button();
    btn.ID = "abc";
    Controls.Add(btn);   String scriptString = "<script language=JavaScript> function doClick() {";
       scriptString += String.Format("alert(document.getElementById('{0}').value);", btn.ClientID);
       scriptString += "} <";
       scriptString += "/" + "script>";
         
       RegisterStartupScript("arrayScript", scriptString); 
       
      

  4.   

    Button btn = new Button();
    btn.ID = "abc";
    control.Add(btn); //Control是不是
    btn.ClientID == control.ClentID+btn.ID ???
      

  5.   

    是不是 btn.ClientID == control.ClentID+btn.ID ???
    ————————————————————————————————————————
    不是。这与control是否实现了INamingContainer接口有关,而且即使实现了也不是根据clientID来组合的,而是根据UniqueID。另外,ClientID的算法随时可以修改,也许System.Web, Version=1.0.5000.0是这样设计的,System.Web, Version=1.0.5000.1就可能设计为另一种更好的或者面向新浏览器功能的产生clientID的方法。
      

  6.   

    ClientID是非常方便的设计。关键在于你在理解asp.net之前就断定自己才是最正确的。
      

  7.   

    如果都在服务器通过ClientID 写客户端处理事件,编写客户端脚本太麻烦了!有什么方法能通过服务器控件ID就确定客户端ID 
    这样在客户端写脚本就容易了方便了
      

  8.   

    很多时候我想通过AJAX实现服务器代码的功能中间涉及到很多JAVASCRIPT脚本,查找控件都要用ID,很不方便!
    cs代码写脚本代码太麻烦,调试也麻烦