前台有几个div 名字分别是 div1 div2 div3 …… 这几个div均在其他元素(div , table)内并且每个均设置runat=server现在直接在后台用div1.innerhtml 这种方式显得比较麻烦。 而如果用page.findcontrol这种不能直接取到值。因为我要修改,貌似request。form没用了。有什么方法能让我这样做呢?for(int i )
{
page.findcontrol(“div”+ i。tostring()) = xxxx;}

解决方案 »

  1.   

    可否用JS 来遍历DIV?遍历页面的控件 貌似没有DIV这个类型。。JS遍历
    window.onload=function(){var i,a,s="";var d=document.getElementsByTagName("div");  //获取tag名称为div的html元素们for(i=0;i<d.length;i++)                                              //遍历tag名称为div的html元素们     if(d[i].className=="q2")                                     //获取tag名称为div的html元素们中,calss名称为q2的html元素         a=d[i].getElementsByTagName("a");              //获取tag名称为div的html元素们中,calss名称为q2的html元素中,tag名称为a的html元素们         for(i=0;i<a.length;i++)                                     //遍历tag名称为div的html元素们中,calss名称为q2的html元素中,tag名称为a的html元素们             s+=a[i].innerHTML;        alert(s);
    }
      

  2.   

     using System.Web.UI.HtmlControls;
     HtmlGenericControl div = (HtmlGenericControl)e.Item.FindControl("div");这个是从数据绑定控件里这样写的~ 能获得到
      

  3.   

    前台加上runat=server后,div就变成了System.Web.UI.HtmlControls下的一个服务端控件
    直接遍历page.Controls,判断其类型就可以了
    foreach(var div in page.controls)
    {
    if(div is   htmldiv)
     ....
    }