服务控件生成ID和Name为什么不一样Name:ctl00$ContentTopSearch$TxtTopSearchID:ctl00_ContentTopSearch_TxtTopSearch写脚本时.ClientID获取的ID不好用使用Name则好用可后台不知如何获得控件的name

解决方案 »

  1.   

    Page.Request.Form.AllKeys[‘看看你的控件是页面第几个’]
    调试下跟中Page.Request.Form.AllKeys就能看到。
      

  2.   

    现在的HTML代码 ID是通用的
    name是给服务器看的,ID是唯一的,name不一定一般ID都能用吧 asp.net Name属性可以忽略吧(一般asp程序才会用到name)document.getElementByName(name) 
    document.getElementById(id)我一般用下面这个 好象都能解决吧
      

  3.   

    你使用了Master页面。
    你可以在Page_Load事件里取
     string name=Page.Request.Form.AllKeys['页面控件第个几个'].ToString();
      

  4.   

    string name=Page.Request.Form.AllKeys['页面控件第个几个'].ToString();
    索引超出了数组界限。
      

  5.   

    form_load里加
    BtTopSo.Attributes.Add("OnClientClick", "setSearchValue('" + TxtTopSearch.ClientID + "')");
            生成后有
     OnClientClick="setSearchValue('ctl00_TxtTopSearch')" 
    不好用,可是在HTML页面直接写 
    OnClientClick="setSearchValue('ctl00_TxtTopSearch')" 
    居然生效了,不知为何