前台:
代码
<%@ Page Language=C# AutoEventWireup=true CodeFile=Defaultaspxcs Inherits=_Default %>
<!DOCTYPE html PUBLIC //WC//DTD XHTML Transitional//EN transitionaldtd>
<html xmlns=>
<head runat=server>
<title>获取前台js表格的数据</title>
<style type=text/css><!
disime
{
imemode:disabled;
}
>
</style>
</head>
<body>
<form id=form runat=server>
<h>使用客户端添加表格的保存</h>
<p>
主是就是在提交到服务器之前处理好表格里的信息然后赋值给hidden<br />
to mqtheone:这里我设置最后一列只能输入数字了你可以参考一下
</p>
<div>
<table id=tab>
<tr>
<th>名称</th>
<th>内容</th>
<th>值</th>
<th></th>
</tr>
<tr>
<td><input type=text /></td>
<td><input type=text /></td>
<td><input type=text class=disime onkeypress=return check(event)/></td>
</tr>
</table>
<input type=button mce_ value=添加信息 id=btnAddInfo /><br />
<asp:Button ID=Button runat=server Text=提交 OnClientClick=initData();
onclick=Button_Click />
<asp:HiddenField ID=HiddenField
runat=server />
</div>
</form>
</body>
<script type=text/javascript><!
var $=function(){return documentgetElementById(arguments[]);};
var check=function(e) {
return ekeyCode<= && ekeyCode>=
}
$(btnAddInfo)onclick=function() {
var tb=$(tab);//to mqtheone:这里你可用服务器那个table的id或者查找页面的第一个table
var row=tbinsertRow(tbrowslength);
for(var i=;i<;i++) {
var td=rowinsertCell(i);
tdinnerHTML=<input type=text/>;
}
rowinsertCell(rowcellslength)innerHTML=<input type=text class=disime onkeypress=return check(event)/>;//样式表禁用输入法再过滤再数字字符还没有禁用粘贴
rowinsertCell(rowcellslength)innerHTML=<input type=button onclick=return remove(this) value=移除/>;
}
var remove=function(obj) {
var tr=objparentNodeparentNode;
trparentNoderemoveChild(tr);
}
var initData=function() {
var tb=$(tab);
var data=[];
for(var i=;i<tbrowslength;i++) {
if(tbrows[i]cells[]firstChildvaluelength> && tbrows[i]cells[]firstChildvaluelength>) {//将两个文本框里值不为空的项添加到数组假设只有前两列的数据不能为空
datapush(tbrows[i]cells[]firstChildvalue);
datapush(tbrows[i]cells[]firstChildvalue);
datapush(tbrows[i]cells[]firstChildvalue);
} //else {这里可以给个提示说数据没填完整是否提交否则return false}
}
$(HiddenField)value=datajoin(`);//使用这个比较不常用 的字符将数组拼接成字符串
return true;
};
//这里可以增加一个方法判断 hidden是否为空如果不为空获取数据遍历添加到表格中
// ></script>
</html>
<%@ Page Language=C# AutoEventWireup=true CodeFile=Defaultaspxcs Inherits=_Default %>
<!DOCTYPE html PUBLIC //WC//DTD XHTML Transitional//EN transitionaldtd>
<html xmlns=>
<head runat=server>
<title>获取前台js表格的数据</title>
<style type=text/css><!
disime
{
imemode:disabled;
}
>
</style>
</head>
<body>
<form id=form runat=server>
<h>使用客户端添加表格的保存</h>
<p>
主是就是在提交到服务器之前处理好表格里的信息然后赋值给hidden<br />
to mqtheone:这里我设置最后一列只能输入数字了你可以参考一下
</p>
<div>
<table id=tab>
<tr>
<th>名称</th>
<th>内容</th>
<th>值</th>
<th></th>
</tr>
<tr>
<td><input type=text /></td>
<td><input type=text /></td>
<td><input type=text class=disime onkeypress=return check(event)/></td>
</tr>
</table>
<input type=button mce_ value=添加信息 id=btnAddInfo /><br />
<asp:Button ID=Button runat=server Text=提交 OnClientClick=initData();
onclick=Button_Click />
<asp:HiddenField ID=HiddenField
runat=server />
</div>
</form>
</body>
<script type=text/javascript><!
var $=function(){return documentgetElementById(arguments[]);};
var check=function(e) {
return ekeyCode<= && ekeyCode>=
}
$(btnAddInfo)onclick=function() {
var tb=$(tab);//to mqtheone:这里你可用服务器那个table的id或者查找页面的第一个table
var row=tbinsertRow(tbrowslength);
for(var i=;i<;i++) {
var td=rowinsertCell(i);
tdinnerHTML=<input type=text/>;
}
rowinsertCell(rowcellslength)innerHTML=<input type=text class=disime onkeypress=return check(event)/>;//样式表禁用输入法再过滤再数字字符还没有禁用粘贴
rowinsertCell(rowcellslength)innerHTML=<input type=button onclick=return remove(this) value=移除/>;
}
var remove=function(obj) {
var tr=objparentNodeparentNode;
trparentNoderemoveChild(tr);
}
var initData=function() {
var tb=$(tab);
var data=[];
for(var i=;i<tbrowslength;i++) {
if(tbrows[i]cells[]firstChildvaluelength> && tbrows[i]cells[]firstChildvaluelength>) {//将两个文本框里值不为空的项添加到数组假设只有前两列的数据不能为空
datapush(tbrows[i]cells[]firstChildvalue);
datapush(tbrows[i]cells[]firstChildvalue);
datapush(tbrows[i]cells[]firstChildvalue);
} //else {这里可以给个提示说数据没填完整是否提交否则return false}
}
$(HiddenField)value=datajoin(`);//使用这个比较不常用 的字符将数组拼接成字符串
return true;
};
//这里可以增加一个方法判断 hidden是否为空如果不为空获取数据遍历添加到表格中
// ></script>
</html>
后台获取
代码
using System;
using SystemConfiguration;
using SystemData;
using SystemLinq;
using SystemWeb;
using SystemWebSecurity;
using SystemWebUI;
using SystemWebUIHtmlControls;
using SystemWebUIWebControls;
using SystemWebUIWebControlsWebParts;
using SystemXmlLinq;
public partial class _Default : SystemWebUIPage
{
protected void Page_Load(object sender EventArgs e)
{
}
protected void Button_Click(object sender EventArgs e)
{
if (HiddenFieldValue != )
{
string[] datas = HiddenFieldValueSplit(`);
int i = ;
SystemCollectionsHashtable tb = new SystemCollectionsHashtable();
DataTable dt = new DataTable();//取出数据放进DataTable
dtColumnsAdd(Name typeof(string));
dtColumnsAdd(Content typeof(string));
dtColumnsAdd(Value typeof(int));
while (i < datasLength)
{
string str=datas[i];//这样就取出数据了
string str = datas[i + ];
string str = datas[i + ];
int v = ;
intTryParse(str out v);
DataRow dr = dtNewRow();
dr[Name] = str;
dr[Content] = str;
dr[Value] = v;
dtRowsAdd(dr);
i += ;
}
ResponseWrite(数据行数为+dtRowsCount);
}
}
}