html代码:
<table id="table1" runat="server">
<tr>
<td>编号</td>
<td>姓名</td>
</tr>
</table>js代码:点击添加按钮执行的脚本
  var cell;
  var textNode;
  tbl= document.getElementById("table1");
  rowsLen = tbl.rows.length
  row = tbl.insertRow(rowsLen);//给table添加一行   
  textNode=document.createTextNode(rowsLen);    
  cell = row.insertCell(0);       
  cell.appendChild(textNode);        
  row.appendChild(cell);  textNode=document.createTextNode(一个变量的值);    
  cell = row.insertCell(1);       
  cell.appendChild(textNode);        
  row.appendChild(cell); 问题:在添加了几行数据后,怎样把"table1"中的数据取出来放入数据库??
如果直接这样取的话this.table1.Rows.Count总是为1.
我用的是C#,VS2005
谢谢大家帮忙解决~~~~~~     

解决方案 »

  1.   

    如果不用js,这些东西稍加改动写的cs代码里应该可以取出来.
    最少我这么做过.我认为.
    我认为啊!
    你这些js生成的东西,再你取值的时候,点击按钮的时候是一个服务器空间,回发....值都没了!所以是1,猜测而已!
      

  2.   

    这就是简单的客户端与服务器端的交互啊比如你可以用JS把客户端的值放在Hidden里
    然后在服务器端取Hidden得值就可以了
      

  3.   

    function bb()
    {
     tbl1= document.getElementById("table1"); 
      rowsLen = tbl.rows.length ;
        for(i=0;i<rowsLen;i++)
      {
       alert(tbl.rows[i].cells[0].innerHTML);  --得出你现在行里的数据
      }
    }
      

  4.   


    if(response.value!=null)
    {
    document.all("DropDownList2").length=0;
    var ds = response.value;
            if(ds != null && typeof(ds) == "object" && ds.Tables != null)
            {
            for(var i=0; i<ds.Tables[0].Rows.length; i++)
            {
                var newOption=document.createElement("OPTION");
                newOption.text=ds.Tables[0].Rows[i].GoodsName;
                newOption.value=ds.Tables[0].Rows[i].GoodsName;
                document.all("DropDownList2").options.add(newOption);
            }
            }这是一段dataset和table的js!!,你看看!!
      

  5.   

    这样那hidden会不会太多啊,为什么我的table也是server控件,但是在却取不到JS添加的数据呢??
          好像楼上几位说的办法都是一样的哦!
    就是先用JS把值赋给hidden控件或者变量···然后在去取,
          有点不知道赋给变量后怎么在aspx.cs中取值
      

  6.   

    这样那hidden会不会太多啊,为什么我的table也是server控件,但是在却取不到JS添加的数据呢??
          好像楼上几位说的办法都是一样的哦!
    就是先用JS把值赋给hidden控件或者变量···然后在去取,
          有点不知道赋给变量后怎么在aspx.cs中取值
      

  7.   

    感觉后台取值应该是取viewstate,所有没有viewstage的控件,如label,在前台js修改值后台是取不到的。但textbox、hiddenfield就可以取到。
    如果textbox realonly=true或Enabled=false也不保存viewstage,这时js修改也取不到值。
    楼主试试怎么把值存到hiddenField里
    或试下Request.Params["controlId"](我没试这种方法行不行)
      

  8.   

    可以使用Post方式提交数据
    但是好像限制100K
    如果太大可以把它拆分http://www.wangchao.net.cn/bbsdetail_757581.html
      

  9.   

     var ddlHiden=document.getElementById("ddlHiden");
              var newOption=document.createElement("option");
                newOption.text=paper.value+","+l.value+","+w.value+","+h.value+","+num.value+","+address.value+","+beizu.value;
               // alert(newOption.text);
                newOption.value=rowsLen;这样怎么会有错误呢
      

  10.   

    好像我用JS把值加到dropdownlist里面也不行!
      

  11.   

    好像我用JS把值加到dropdownlist里面也不行!
      

  12.   

    我给你的js就是把数据加到dropdownlist里的!!
      

  13.   

    对了!!
    你用ajax.dll控件了吗??
      

  14.   

    页面代码: 
    <asp:DropDownList ID="ddlHidden" runat="server">
      </asp:DropDownList>
    脚本代码
      document.getElementById("ddlHiden").options.add(new Option("ddd","dddd"));不知道为什么会出错??
      

  15.   

    没有用我没有用ajax
             是不是这样一定要建ajax网站才行
      

  16.   

    用ajax吧!!
    很好用的!!
      

  17.   

    那现在可不可以只把那个ajax.all加到网页里面去呢??
           还是要另外建一个ajax 的网站啊
      

  18.   

    var list = document.getElementById("ddlHidden");
            list.options[list.options.length] = new Option("ddd","dddd");
      

  19.   

    把ajax.dll引用!
    在配置文件里httpHandlers节点写
    <add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax"/>
    然后,在app_code里写个类!!
    类方法前加[Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.Read)]
      

  20.   

    谢谢WZY_LVOE_SLY
         那个是可以了。又有问题了啊我每加一条记录的时候就  把那行加到 dropdownList里面······
            页面上dropdownList也可以显示所加的记录。
    但是
           protected void save_Click(object sender, EventArgs e)
        {
                   com.Alert(ddlHidden.Items[0].Value);//显示dropdownList的值
           
        }
    的时候会出现错误。还是获取不到值
      

  21.   

    protected void save_Click(object sender, EventArgs e)
        {
                  com.Alert(ddlHidden.SelectedItem.Value);//显示dropdownList的值
         
        }
      

  22.   

    你把Table中的东西加到DropDownList里面去干什么啊?
    那样不还是取不到值么?如果你不想把内容放到Hidden里面
    那就Post数据然后再后台Request.Form 。这样取数据
      

  23.   

    为什么会取不到呢???
         dropdownlist是服务器控件啊,然后把visble属性设下···然后在aspx.cs中取dropdownList里面的值啊····
         
          它与隐藏控件有什么不同啊
      

  24.   

    protected void save_Click(object sender, EventArgs e) 


    如果把值加到dropdownList里面
    按钮里面不写东西也会出错···
          如果不加就不会出错错误提示:
    Invalid postback or callback argument.  Event validation is enabled using <pages enableEventValidation="true"/> in configuration or <%@ Page EnableEventValidation="true" %> in a page.  For security purposes, this feature verifies that arguments to postback or callback events originate from the server control that originally rendered them.  If the data is valid and expected, use the ClientScriptManager.RegisterForEventValidation method in order to register the postback or callback data for validation. 
      

  25.   

    protected void save_Click(object sender, EventArgs e) 


    如果把值加到dropdownList里面
    按钮里面不写东西也会出错···
          如果不加就不会出错错误提示:
    Invalid postback or callback argument.  Event validation is enabled using <pages enableEventValidation="true"/> in configuration or <%@ Page EnableEventValidation="true" %> in a page.  For security purposes, this feature verifies that arguments to postback or callback events originate from the server control that originally rendered them.  If the data is valid and expected, use the ClientScriptManager.RegisterForEventValidation method in order to register the postback or callback data for validation. 
      

  26.   

    这是dropdownList很二的错误,好象是js编码的问题
    换select + runat="server"吧,
    让高手看看吧,我以前也看过这个问题
      

  27.   

     Request.Form["DropDownList1"].ToString()可取value