动态添加行处理过程:前台将行间和行内的数据用分隔符隔开,然后在后台再用分隔函数提取数据。前台拼接字符串,需要将数据中存在的行间和行内的分隔符编码,后台再解码。
编码说明:"%":"%25" ",":"%2C" "|":"%7C",每条记录之间用"|"分隔,每条记录的值之间用","分隔,值中可能存在","和"|"编码后的"%2C"和"%7C"字符串,所有首先把值中的"%"编码,然后在编码","和"|"
前台处理:
var values="";
//添加的行中文本框的值
var val=$("#id").val();
//编码:第一步,编码数据中存在的"%";第二步,编码数据中存在的",";第三步,编码数据中存在的"|"
values += val.replace(/%/g, "%25").replace(/,/g, "%2C").replace(/\|/g, "%7C");
或者
values += val.replace(new RegExp("%","g"), "%25").replace(new RegExp(",","g"), "%2C").replace(new RegExp("\\|","g"), "%7C");
后台处理:
//str:前台拼接的字符串
//解码:第一步,将","解码;第二步,将"|"解码;第三步,将"%"解码
private string GetDecodeStr(string str)
{
return str.Replace("%2C", ",").Replace("%7C", "|").Replace("%25", "%");
}
注释:Replace替换全部:Replace('%','%25')只会替换第一个匹配;
replace(/\%/g, "%25")则是替换全部,第一个参数可以是正则表达式,/g标识全文匹配。
程序员的基础教程:菜鸟程序员