解决方案 »

  1.   

    如果我没理解错,你是要获取某个控件的ID值
    可以用document.getElementsByTagName("INPUT")来得到获取页面上的INPUT的元素,然后遍历这个INPUT集合去访问每个元素的id属性就能达到你要目的了 //获取INPUT控件集合
    var inputs=doucment.getElementsByTagName("INPUT");
    for(i=0;i<=inputs.length;i++) 

      var id = inputs[i].id; 

    具体还要看INPUT在页面中那一个容器元素中,这样才能在更精确的范围内获取想要元素的ID值。
      

  2.   

    你的name  的值是唯一的吗?你只有这一个 input 吗?不然怎么确定你是要哪个input的值?
      

  3.   

    用JQuery就好了,最好上一层或者这个input有固定不变的东西,才好获取~~
      

  4.   

    你可以定义一个leng,把i,j,k的值赋给leng
    再循环leng
    你的input的id就是循环leng时用的变量值
      

  5.   

    结合一楼和二楼的答案如果你的这个input标签的name的值是唯一的,可以先通过name属性来获取该空间,进而获取到该控件的ID
    需要饮用 mshtmlusing mshtml;然后通过webbrowser获取DOM,把当前页面转换如下mshtml.IHTMLDocument dom= webbrowser.document as mshtml.ihtmlelement;
    ihtmlelement el=dom.getelementbyName(“name").
    string id=el.getarribute("id");大体是这样,具体代码可能写的不对,你查一下,意思就是这样
      

  6.   

    runat="server"? 你这是要生成aspx页面? 
    在第一行 <%@Page ...%> 那里加个ClientIdMode="Static",这样你的ID就会被固定了,跟你原始的一样
      

  7.   

    这段代码可以把id一个个输出,包括你要的id值。不过不知道是不是你想要的效果。
      

  8.   

    我只想说....
    string a="<input id='"+i.ToString()+j.ToString()+k.ToString()+"' type='checkbox' name='cbCourse' value='" + content + "' runat='server' />"
    你这ruant=server在前台能识别么...在说了 动态出来的东西 为什么不用repeter..在说了 既然是表单控件 id有什么用啊.. 后台request 是通过name啊难道你想findcontrol?别开玩笑了 你这根本不是服务器控件?什么 你说你的控件有"ruant=server" 你这是输出到页面上的..根本没用啊..所以我觉得LZ还是看看asp.net的基础吧..了解下asp控件以及ruant控件以及表单控件 到底应该如何使用...否则就算帮你解决了这个问题..后面还是有无数的问题的.
      

  9.   

    我不太懂 后面我把runat = server 去掉了 我有很多个这种动态生成的控件 id值是根据for循环生成的 所以是不一样的 name值我全设为同样的
      

  10.   

    我是不太懂啊 通过实例可以学习下嘛 我是听别人说加上runat=server可以变成服务器控件 跟checkbox控件一样了 我才加上去的 其实我觉得它有这个id值 为什么就不能获取呢 它能获取name值 就不能获取id值? 
      

  11.   


    没错不假不过 那个别人有没有告诉你 这个是在aspx中加的?比如
    <input type=''checkbox' ruant=server id='c1'/>
    而不是在后台..当然了 就算你是后台实际上也可以使用loadcontrol方法..不过一般很少这么玩的..
      

  12.   

    其实我为什么要这么做呢 因为我要做个选修课表让学生报名合适的选修课 课表我就是打算用Response.Write("<table>;)这种形式画出来的 因为他的内容都是从数据库表里提取出来 先根据选修课时间判断放在二维数组哪个地方string [,]course = new string[7,6];  就用i(代表时间段 j代表星期 k就是同一个星期同一个时间段也有可能有几个选修课的)
     Response.Write("<table border='1' cellpadding='0' cellspacing='0' width='700px'>");
            for (int i = 0; i < 7; i++) 
            {
                Response.Write("<tr>");
                for (int j = 0; j < 6; j++)
                {
                    Response.Write("<td height='50px' width='116px' align='center'>");                if (course[i,j] != null)
                    {
                      
                        //把数组course里面的内容根据','号划分出来装到新的数组couName里面
                        string []couName = course[i,j].Split(',');     
                        string []teaName = teacher[i,j].Split(',');
                        string[] num = number[i, j].Split(',');
                        for (int k = 0; k < couName.Count(); k++)
                        {
                            string content = couName[k].ToString();
                            Response.Write("<input id='"+i.ToString()+j.ToString()+k.ToString()+"' type='checkbox' name='cbCourse' value='" + content + "'/>" + couName[k].ToString() + "</br>" + teaName[k].ToString() + "  余" + num[k].ToString()+"人");
                            Response.Write("</br>");
                        }
                    }    
     如图
    string []course = Request.Form.GetValues("cbCourse");可以获取它的name的value值 但是我想要获取的东西不仅仅只是value值的那个课程名信息 还有时间信息 教师id  然后然后就不懂怎么做了 
      

  13.   

    谢谢大家了 我通过把其他需要的信息也放在value里解决了
      

  14.   

    我可以理解为类似sql里面的  非主键字段映射主键字段  吗?
    value不是唯一的,id是唯一的,这就必须遍历结果集啦~