asp.net后台获取js表格的数据

会ajax的飘过

看论坛里好多人在找后台获取js表格的数据,就把以前的方法放在这里了

前台:

 

[xhtml]  view plain copy
  1. <%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>  
  2.   
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  4.   
  5. <html xmlns="http://www.w3.org/1999/xhtml">  
  6. <head runat="server">  
  7.     <title>asp.net获取前台js表格的数据</title>  
  8.     <style type="text/css"><!--  
  9.     .dis-ime   
  10.     {  
  11.         ime-mode:disabled;  
  12.     }  
  13.       
  14. -->  
  15.     </style>  
  16. </head>  
  17. <body>  
  18.     <form id="form1" runat="server">  
  19.     <h3>使用客户端添加表格的保存</h3>  
  20.     <p>  
  21.         主是就是在提交到服务器之前,处理好表格里的信息,然后赋值给hidden<br />  
  22.         to mqtheone:这里我设置最后一列只能输入数字了,你可以参考一下  
  23.     </p>  
  24.     <div>  
  25.           
  26.         <table id="tab1">  
  27.         <tr>  
  28.             <th>名称</th>  
  29.             <th>内容</th>  
  30.             <th></th>  
  31.             <th></th>  
  32.         </tr>  
  33.         <tr>  
  34.             <td><input type="text" /></td>  
  35.             <td><input type="text" /></td>  
  36.             <td><input type="text" class="dis-ime" onkeypress="return check(event)"/></td>  
  37.         </tr>  
  38.         </table>  
  39.         <input type="button" style="margin-left:400px" mce_style="margin-left:400px" value="添加信息" id="btnAddInfo" /><br />  
  40.         <asp:Button ID="Button1" runat="server" Text="提交" OnClientClick="initData();"   
  41.                 onclick="Button1_Click" />  
  42.         <asp:HiddenField ID="HiddenField1"  
  43.             runat="server" />  
  44.       
  45.     </div>  
  46.     </form>  
  47. </body>  
  48. <script type="text/javascript"><!--  
  49. var $=function(){return document.getElementById(arguments[0]);};  
  50.   
  51. var check=function(e) {  
  52.     return e.keyCode<=57 && e.keyCode>=48  
  53. }  
  54.   
  55. $("btnAddInfo").onclick=function() {  
  56.     var tb=$("tab1");//to mqtheone:这里你可用服务器那个table的id,或者查找页面的第一个table  
  57.     var row=tb.insertRow(tb.rows.length);  
  58.     for(var i=0;i<2;i++) {  
  59.         var td=row.insertCell(i);  
  60.         td.innerHTML="<input type='text'/>";  
  61.     }  
  62.     row.insertCell(row.cells.length).innerHTML="<input type='text' class='dis-ime' οnkeypress='return check(event)'/>";//样式表禁用输入法,再过滤再数字字符,还没有禁用粘贴,  
  63.     row.insertCell(row.cells.length).innerHTML="<input type='button' οnclick='return remove(this)' value='移除'/>";  
  64. }  
  65. var remove=function(obj) {  
  66.     var tr=obj.parentNode.parentNode;  
  67.     tr.parentNode.removeChild(tr);  
  68. }  
  69.   
  70. var initData=function() {  
  71.     var tb=$("tab1");  
  72.     var data=[];  
  73.     for(var i=1;i<tb.rows.length;i++) {  
  74.         if(tb.rows[i].cells[0].firstChild.value.length>0 && tb.rows[i].cells[1].firstChild.value.length>0) {//将两个文本框里值不为空的项添加到数组,假设只有前两列的数据不能为空  
  75.             data.push(tb.rows[i].cells[0].firstChild.value);  
  76.             data.push(tb.rows[i].cells[1].firstChild.value);  
  77.             data.push(tb.rows[i].cells[2].firstChild.value);  
  78.         } //else {这里可以给个提示说数据没填完整,是否提交,否则return false}  
  79.     }  
  80.     $("HiddenField1").value=data.join("`");//使用这个比较不常用 的字符将数组拼接成字符串  
  81.     return true;  
  82. };  
  83. //这里可以增加一个方法判断 hidden是否为空,如果不为空,获取数据遍历,添加到表格中  
  84. // --></script>  
  85. </html>  

后台获取 :

[c-sharp]  view plain copy
  1. using System;  
  2. using System.Configuration;  
  3. using System.Data;  
  4. using System.Linq;  
  5. using System.Web;  
  6. using System.Web.Security;  
  7. using System.Web.UI;  
  8. using System.Web.UI.HtmlControls;  
  9. using System.Web.UI.WebControls;  
  10. using System.Web.UI.WebControls.WebParts;  
  11. using System.Xml.Linq;  
  12.   
  13. public partial class _Default : System.Web.UI.Page   
  14. {  
  15.     protected void Page_Load(object sender, EventArgs e)  
  16.     {  
  17.   
  18.     }  
  19.     protected void Button1_Click(object sender, EventArgs e)  
  20.     {  
  21.         if (HiddenField1.Value != "")  
  22.         {  
  23.             string[] datas = HiddenField1.Value.Split('`');  
  24.             int i = 0;  
  25.             System.Collections.Hashtable tb = new System.Collections.Hashtable();  
  26.             DataTable dt = new DataTable();//取出数据放进DataTable  
  27.             dt.Columns.Add("Name"typeof(string));  
  28.             dt.Columns.Add("Content"typeof(string));  
  29.             dt.Columns.Add("Value"typeof(int));  
  30.             while (i < datas.Length)  
  31.             {  
  32.                 string str1=datas[i];//这样就取出数据了  
  33.                 string str2 = datas[i + 1];  
  34.                 string str3 = datas[i + 2];  
  35.                 int v = 0;  
  36.                 int.TryParse(str3, out v);  
  37.                 DataRow dr = dt.NewRow();  
  38.                 dr["Name"] = str1;  
  39.                 dr["Content"] = str2;  
  40.                 dr["Value"] = v;  
  41.                 dt.Rows.Add(dr);  
  42.                 i += 3;  
  43.             }  
  44.             Response.Write("数据行数为"+dt.Rows.Count);  
  45.         }  
  46.     }  
  47. }  
  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值