我在aspx页面里面有一段代码如下:<div id="newCart" runat="Server">
</div>然后我在cs文件里面有代码如下:this.newCart.InnerHtml = "<div id=\"itemInTheCart\">0 Items </div><div id=\"cartTotalPrice\">$ 0.00 </div>"
    +"<img class=\"bCartFilled\" alt=\"Cart\" src=\"images/view_cart2_en.png\" />" 
    +"<img class=\"bCheckoutbCartFilled\" alt=\"Cart\" src=\"images/checkout2_en.png\" /> ";目的是在cs里面根据一定逻辑控制页面显示内容。但是我发现运行后,页面位置全部乱了。我通过IE自带的代码查看,发现浏览器实际得到的html代码为<DIV id=ctl00_newCart>
<DIV id=itemInTheCart>0 Items </DIV>
<DIV id=cartTotalPrice>$ 0.00 </DIV><IMG class=bCartFilled alt=Cart 
src="US_files/view_cart2_en.png"><IMG class=bCheckoutbCartFilled alt=Cart 
src="US_files/checkout2_en.png"> </DIV>为何ID从newCart变成了ctl00_newCart?????奇怪啊,求解!!

解决方案 »

  1.   

    对的,我放母版页了。有什么办法处理么?
    如果是固定的在前面加ctl00的话,我可以修改我的css文件。
      

  2.   

    呵呵,朋友。我平时不是搞aspx的,平时是弄嵌入式开发的。这个是帮朋友弄的一个小网站。
    你就帮帮忙直接告诉答案吧。谢谢了!!
      

  3.   

    服务器控件的id跟客户端html标签不是一回事,客户端html的标签应该使用服务器控件的ClientID属性获得。你google:ClientID,可以看到更多编程例子。
      

  4.   

    客户端html的标签应该使用  -->  客户端html的标签的id应该使用
      

  5.   

    这是服务端的id吧。不知道有没有客户端id。
    我知道有服务端click和客户端click的。
      

  6.   

    在.net项目,当用到javascript或者其他别的客户端脚本时,常常需要用到asp.net控件的ID,但asp.net控件的ID在server和client是不一样的,如
    Server:TextBox ID="txtName"
    到了client,ID就成了:ctl00_ContentPlaceHolder1_txtName
    要想在客户端控件(htmlcontrol)获得txtName的ID,就要用到ClientID
    <%=服务器控件名.ClientID%> 
      

  7.   

    在Asp.net中,服务器控件的客户端ID 与在写程序时设定的控件ID往往是不一致的.
    要得到服务器控件的客户端ID,比如在JS里面,是这样的
    <%=txbName.ClientID %>")
      

  8.   

    我目前的处理方式是这样的,在css文件,查询凡是出现了newCart 的地方,我都复制一份,然后重命名为ctl00_newCart。就是担心这样处理会不会通用?比如我放服务器上面后还是这样不?
      

  9.   

      这个不是ID的问题,是InnerHTML这个属性里面不支持<> 标签丢失