对于多表的保存:
1.下载Newtonsoft.Json
2.从js到cs(生成list)
<1>从grid中取数
if (contractItemForm.getForm().isValid()) {
if (contractItemForm.getForm().isValid()) {
//构造提交数据集
//品牌构造-----
var lstbrand=new Array();
var len=ContractNewBrandInfo_itemStore.getCount();
for(i=0;i<len;i++)
{
var p=new contractbrandfields_reader(
{
sn:ContractNewBrandInfo_itemStore.getAt(i).get('sn'),
brandid:ContractNewBrandInfo_itemStore.getAt(i).get('brandid'),
brandname:ContractNewBrandInfo_itemStore.getAt(i).get('brandname'),
salerate:ContractNewBrandInfo_itemStore.getAt(i).get('salerate'),
memo:ContractNewBrandInfo_itemStore.getAt(i).get('memo')
});
lstbrand.push(p);
}
<2>生成参数
params:{type:"sumbit",
oper:dictOper,
Lx:"NewContract",
//------------添加参数在这里
databrand:Ext.util.JSON.encode(lstbrand),//品牌构造
},
<3>生成以下数据(两行)
databrand="[{\"id\":1014,\"data\":{\"sn\":1,\"brandid\":\"0000000005\",\"brandname\":\"李宁牌\",\"salerate\":0.2}},
{\"id\":1015,\"data\":{\"sn\":2,\"brandid\":\"0000000004\",\"brandname\":\"耐克\",\"salerate\":0.3}}]"
<4>后台处理
using Newtonsoft.Json;
string strDatabrand = Request["databrand"].Trim();
JavaScriptArray jsa = (JavaScriptArray)JavaScriptConvert.DeserializeObject(strDatabrand);
IList<prvcttbrand> li = new List<prvcttbrand>();
for (int i = 0; i < jsa.Count; i++)
{
JavaScriptObject jso = (JavaScriptObject)jsa[i];
JavaScriptObject jsodata = (JavaScriptObject)jso["data"];
prvcttbrand tmprec = new prvcttbrand();
tmprec.bllno = strBlno;
tmprec.sn = sjondata["sn"].Tostring();//值为"1"
...
li.Add(tmprec);
}

浙公网安备 33010602011771号