asp.net後台擷取js表格的資料

來源:互聯網
上載者:User

會ajax的飄過

看論壇裡好多人在找後台擷取js表格的資料,就把以前的方法放在這裡了

前台:

 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %></p><p><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"></p><p><html xmlns="http://www.w3.org/1999/xhtml"><br /><head runat="server"><br /> <title>asp.net擷取前台js表格的資料</title><br /> <style type="text/css"><!--<br /> .dis-ime<br /> {<br /> ime-mode:disabled;<br /> }</p><p>--><br /> </style><br /></head><br /><body><br /> <form id="form1" runat="server"><br /> <h3>使用用戶端添加表格的儲存</h3><br /> <p><br /> 主是就是在提交到伺服器之前,處理好表格裡的資訊,然後賦值給hidden<br /><br /> to mqtheone:這裡我設定最後一列只能輸入數字了,你可以參考一下<br /> </p><br /> <div></p><p> <table id="tab1"><br /> <tr><br /> <th>名稱</th><br /> <th>內容</th><br /> <th>值</th><br /> <th></th><br /> </tr><br /> <tr><br /> <td><input type="text" /></td><br /> <td><input type="text" /></td><br /> <td><input type="text" class="dis-ime" onkeypress="return check(event)"/></td><br /> </tr><br /> </table><br /> <input type="button" style="margin-left:400px" mce_style="margin-left:400px" value="添加資訊" id="btnAddInfo" /><br /><br /> <asp:Button ID="Button1" runat="server" Text="提交" OnClientClick="initData();"<br /> onclick="Button1_Click" /><br /> <asp:HiddenField ID="HiddenField1"<br /> runat="server" /></p><p> </div><br /> </form><br /></body><br /><script type="text/javascript"><!--<br />var $=function(){return document.getElementById(arguments[0]);};</p><p>var check=function(e) {<br /> return e.keyCode<=57 && e.keyCode>=48<br />}</p><p>$("btnAddInfo").onclick=function() {<br /> var tb=$("tab1");//to mqtheone:這裡你可用伺服器那個table的id,或者尋找頁面的第一個table<br /> var row=tb.insertRow(tb.rows.length);<br /> for(var i=0;i<2;i++) {<br /> var td=row.insertCell(i);<br /> td.innerHTML="<input type='text'/>";<br /> }<br /> row.insertCell(row.cells.length).innerHTML="<input type='text' class='dis-ime' onkeypress='return check(event)'/>";//樣式表禁用IME,再過濾再數字字元,還沒有禁用粘貼,<br /> row.insertCell(row.cells.length).innerHTML="<input type='button' onclick='return remove(this)' value='移除'/>";<br />}<br />var remove=function(obj) {<br /> var tr=obj.parentNode.parentNode;<br /> tr.parentNode.removeChild(tr);<br />}</p><p>var initData=function() {<br /> var tb=$("tab1");<br /> var data=[];<br /> for(var i=1;i<tb.rows.length;i++) {<br /> if(tb.rows[i].cells[0].firstChild.value.length>0 && tb.rows[i].cells[1].firstChild.value.length>0) {//將兩個文字框裡值不為空白的項添加到數組,假設只有前兩列的資料不可為空<br /> data.push(tb.rows[i].cells[0].firstChild.value);<br /> data.push(tb.rows[i].cells[1].firstChild.value);<br /> data.push(tb.rows[i].cells[2].firstChild.value);<br /> } //else {這裡可以給個提示說資料沒填完整,是否提交,否則return false}<br /> }<br /> $("HiddenField1").value=data.join("`");//使用這個比較不常用 的字元將數組拼接成字串<br /> return true;<br />};<br />//這裡可以增加一個方法判斷 hidden是否為空白,如果不為空白,擷取資料遍曆,添加到表格中<br />// --></script><br /></html><br />

後台擷取 :

using System;<br />using System.Configuration;<br />using System.Data;<br />using System.Linq;<br />using System.Web;<br />using System.Web.Security;<br />using System.Web.UI;<br />using System.Web.UI.HtmlControls;<br />using System.Web.UI.WebControls;<br />using System.Web.UI.WebControls.WebParts;<br />using System.Xml.Linq;</p><p>public partial class _Default : System.Web.UI.Page<br />{<br /> protected void Page_Load(object sender, EventArgs e)<br /> {</p><p> }<br /> protected void Button1_Click(object sender, EventArgs e)<br /> {<br /> if (HiddenField1.Value != "")<br /> {<br /> string[] datas = HiddenField1.Value.Split('`');<br /> int i = 0;<br /> System.Collections.Hashtable tb = new System.Collections.Hashtable();<br /> DataTable dt = new DataTable();//取出資料放進DataTable<br /> dt.Columns.Add("Name", typeof(string));<br /> dt.Columns.Add("Content", typeof(string));<br /> dt.Columns.Add("Value", typeof(int));<br /> while (i < datas.Length)<br /> {<br /> string str1=datas[i];//這樣就取出資料了<br /> string str2 = datas[i + 1];<br /> string str3 = datas[i + 2];<br /> int v = 0;<br /> int.TryParse(str3, out v);<br /> DataRow dr = dt.NewRow();<br /> dr["Name"] = str1;<br /> dr["Content"] = str2;<br /> dr["Value"] = v;<br /> dt.Rows.Add(dr);<br /> i += 3;<br /> }<br /> Response.Write("資料行數為"+dt.Rows.Count);<br /> }<br /> }<br />}<br />  

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.