HTML代码:
<!
DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
>
< html xmlns ="http://www.w3.org/1999/xhtml" >
< head >
< title > 游戏分类 </ title >
< link rel ="stylesheet" rev ="stylesheet" href ="/stylesheets/ext-all.css" type ="text/css"
media ="all" />
< link href ="/stylesheets/mainstyle.css" rel ="stylesheet" type ="text/css" />
< script type ="text/javascript" src ="/javascripts/ext-base.js" charset ="utf-8" ></ script >
< script type ="text/javascript" src ="/javascripts/ext-all.js" charset ="utf-8" ></ script >
< script type ="text/javascript" src ="/javascripts/xmltrans.js" charset ="utf-8" ></ script >
< script type ="text/javascript" src ="/javascripts/xmleditor.js" charset ="utf-8" ></ script >
< script type ="text/javascript" src ="/javascripts/htmleditor.js" charset ="utf-8" ></ script >
< script type ="text/javascript" src ="/javascripts/ext-lang-zh_cn.js" charset ="utf-8" ></ script >
< script type ="text/javascript" src ="/javascripts/Ext.ux.UploadDialog.packed.js" ></ script >
< script src ="/javascripts/ext-webservices.js" type ="text/javascript" ></ script >
<!-- ExtJS调用WCF的专用文件 -->
< script type ="text/javascript" src ="/javascripts/WCFHttpProxy.js" ></ script >
< script type ="text/javascript" src ="/javascripts/WCFJsonReader.js" ></ script >
< script type ="text/javascript" src ="/javascripts/WCFHelper.js" ></ script >
< script type ="text/javascript" src ="/javascripts/SearchField.js" ></ script >
</ head >
< body >
< div id ="newCharge01" class ="x-panel-bwrap" >
< div id ="group" >
</ div >
</ div >
< script type ="text/javascript" > ...
<!--
//表单,点击添加或修改时弹出的窗口中的表单对象
var EmpForm;
//添加数据窗口,其中包含了一个空值的EmpForm
var AddEmpWin;
//修改数据窗口,其中包含了一个已赋值的EmpForm
var EditEmpWin;
//数据源,要显示的列表数据源
var ds ;
//显示控件,显示列表的GridPanel控件
var grid;
//游戏列表
var dsType;
//编辑器
var htmleditor;
//函数部分
function GetWebServiceData()
...{
setDsType();
//选择按钮
var sm = new Ext.grid.CheckboxSelectionModel();
//列信息
var cm = new Ext.grid.ColumnModel([
new Ext.grid.RowNumberer(...{header:'序号',width:35}),//计算行数,无法映射
sm,
...{header:'游戏名称',dataIndex:'Gname',sortable:true,width:50},
...{header:'扩展标题',dataIndex:'Etitle',sortable:true,width:100},
...{header:'扩展内容',dataIndex:'Edesc',sortable:true,width:100},
...{header:'排序',dataIndex:'Orderid',sortable:true,width:50}
]);
//#数据源映射,可修改部分
ds = new Ext.data.Store(...{
proxy: new Ext.data.WCFHttpProxy(...{
url:'/Admin/Wcf/Gameinfosextend.svc/Gameinfosextends'
}),
reader: new Ext.data.WCFJsonReader(...{
root: 'source',//源映射
totalProperty: 'totalCount',//总页数
id:'Tid'//id值
},
[
//与返回的数据源读取映射,与数据库的表一致
...{name: 'Gname'},//如果名称一致,可以省略mapping
...{name:'Etitle'},
...{name:'Edesc'},
...{name:'Orderid'},
...{name:'Gameid'}
]
),
remoteSort: false
});
//配置视图信息
var view=new Ext.grid.GridView(...{forceFit:true,sortAscText :'正序', sortDescText :'倒序'});
view.columnsText='列显示/隐藏';
//分页
var paging = new Ext.PagingToolbar(...{
pageSize: 10,//每页显示数
store: ds,
displayInfo: true,
displayMsg: '显示第 {0} 条到 {1} 条记录,一共 {2} 条',
emptyMsg: "没有记录"
});
//头部的操作按钮
var operation = [
...{
text:'添加',
tooltip:'添加一条记录',
//iconCls:'add',
handler:handleAdd
}, '-',
...{
text:'修改',
tooltip:'修改',
//iconCls:'option',
handler:handleEdit
},'-',
...{
text:'删除',
tooltip:'删除记录',
//iconCls:'remove',
handler:handleDelete
},'-',' ','搜索(按游戏名称): ', ' ',new Ext.app.SearchField(...{store:ds,pagebar:paging,width:200,paramName:'search'})
];
//显示控件
grid = new Ext.grid.EditorGridPanel(...{
el:Ext.getBody(),//显示的位置对象
store: ds,//数据源
sm:sm,//多选按钮组
cm:cm,//列映射
view:view,//视图映射
bbar:paging,//分页
tbar:operation,//头部操作
width:770,
height:450
});
grid.render();
ds.load(...{params:...{start:0,limit:paging.pageSize,search:''}});
}
function setDsType()
...{
dsType = new Ext.data.Store(
...{
proxy: new Ext.data.WCFHttpProxy(...{url:'/Admin/Wcf/Gameinfos.svc/WCFGridsJson'}),
reader: new Ext.data.WCFJsonReader(
...{
root: 'source',
id:'Id'
},
[
...{name: 'Id'},
...{name: 'Gname'}
])
});
dsType.load(...{params:...{GsystemId:0,start:0,limit:10000,key:''}});
}
//操作部分
//添加游戏信息 Start
function handleAdd()...{
createForm();
AddEmpWin = new Ext.Window(...{
title: '增加游戏分类',
layout:'fit',
width:770,
height:400,
plain: true,
items:EmpForm,
buttons: [...{
text:'保存',
handler: AddRecord
},...{
text: '取消',
handler: function()...{
AddEmpWin.hide();
}
}]
});
AddEmpWin.show(this);
}
//保存添加的数据
function AddRecord(btn)
...{
if (EmpForm.form.isValid())
...{
btn.disabled=true;
var formvalue = EmpForm.form.getValues();
var pars =Ext.util.JSON.encode(formvalue);
//Ext.MessageBox.alert("提示",formvalues);
Ext.Ajax.request(...{
url: 'index.aspx?opr=add', //#可修改成你的方法
method: 'POST',
headers:...{"Content-Type":"application/x-www-form-urlencoded;"},
params:pars,//the unique id(s)
callback: function (options, success, response) ...{
var res = Ext.util.JSON.decode(response.responseText);
if (res.suc) ...{ //success will be true if the request succeeded
var alertcontent=ConvertResponseText(response.responseText,"",true,false);
AddEmpWin.hide();
Ext.MessageBox.alert("成功",res.mes);
} else ...{
AddEmpWin.hide();
Ext.MessageBox.alert("失败",res.mes);
}
},
//the function to be called upon failure of the request (server script, 404, or 403 errors)
failure:function(response,options)...{
AddEmpWin.hide();
Ext.MessageBox.alert("警告","出现异常错误!请联系管理员!");
},
success:function(response,options)...{
ds.reload();
}
})// end Ajax request
}
}
//添加游戏信息 End
//修改游戏信息 Start
function handleEdit()...{
createForm();
var selectedKeys = grid.selModel.selections.keys; //returns array of selected rows ids only,读选择了的数据数组
if(selectedKeys.length != 1)
...{
Ext.MessageBox.alert('提示','请选择一条记录!');
}
else
...{
EditEmpWin = new Ext.Window(...{
title: '修改游戏资料',
layout:'fit',
width:770,
height:400,
plain: true,
items:EmpForm,
buttons: [...{
text:'保存',
handler: UpdateRecord
},...{
text: '取消',
handler: function()...{
EditEmpWin.hide();
}
}]
});
EditEmpWin.show(this);
var request = ...{empid:selectedKeys[0]};
Ext.Ajax.request(...{
url: '/Admin/Wcf/Gameinfosextend.svc/GetGameinfosextend', //#可修改成你的方法,带ID参数
method: 'POST',
params:Ext.util.JSON.encode(request),//the unique id(s)
callback: function (options, success, response) ...{
if (success) ...{ //success will be true if the request succeeded
var formvalue =Ext.WS.getJson(response);
formvalue = formvalue.source;//这里返回的对象为与root映射的对象一致, 例如:如果列中映射为gname,则formvalue.gname就是它的值
EmpForm.form.setValues(formvalue);
} else ...{
//Ext.MessageBox.alert("失败","已有此游戏的指南");
}
},
//the function to be called upon failure of the request (server script, 404, or 403 errors)
failure:function(response,options)...{
Ext.MessageBox.alert("警告","出现异常错误!请联系管理员!");
},
success:function(response,options)...{
}
})// end Ajax request
}
}
function UpdateRecord(btn)
...{
if (EmpForm.form.isValid()) ...{
btn.disabled=true;
var formvalue = EmpForm.form.getValues();
var pars =Ext.util.JSON.encode(formvalue);
//var request = {emp:Ext.util.JSON.encode(ConvertFormValue(formvalue,''))};//如果有参数的类型为时间,则添入第二个参数中,多个用","号隔开
//Ext.MessageBox.alert("提示",formvalues);
//request = Ext.util.JSON.encode(request);
Ext.Ajax.request(...{
//url: '/Admin/Wcf/Gameinfosextend.svc/UpdateGameinfosextend', //#可修改成你的方法
url:"index.aspx?opr=update",
method: 'POST',
//params:pars,//the unique id(s)
headers:...{"Content-Type":"application/x-www-form-urlencoded;"},
params:pars,
callback: function (options, success, response) ...{
var res = Ext.util.JSON.decode(response.responseText);
if (res.suc) ...{ //success will be true if the request succeeded
var alertcontent=ConvertResponseText(response.responseText,"",true,false);
Ext.MessageBox.alert("成功",res.mes);
EditEmpWin.hide();
} else ...{
EditEmpWin.hide();
Ext.MessageBox.alert("失败",res.mes);
}
},
//the function to be called upon failure of the request (server script, 404, or 403 errors)
failure:function(response,options)...{
EditEmpWin.hide();
Ext.MessageBox.alert("警告","出现异常错误!请联系管理员!");
},
success:function(response,options)...{
ds.reload();
}
})// end Ajax request
}
}
//修改游戏信息 End
//删除游戏信息 Start
function handleDelete()...{
var selectedKeys = grid.selModel.selections.keys; //returns array of selected rows ids only
if(selectedKeys.length > 0)
...{
Ext.MessageBox.confirm('提示','您确实要删除选定的记录吗?', deleteRecord);
}
else
...{
Ext.MessageBox.alert('提示','请至少选择一条记录!');
}//end
}
function deleteRecord(btn)...{
if(btn=='yes')...{
var selectedRows = grid.selModel.selections.items;//returns record objects for selected rows (all info for row)
var selectedKeys = grid.selModel.selections.keys;
Ext.Ajax.request(...{
url: '/Admin/Wcf/Gameinfosextend.svc/DelGameinfosextend', //#可修改成你的方法
method: 'POST',
params:Ext.util.JSON.encode(selectedKeys),//the unique id(s)
callback: function (options, success, response) ...{
if (success) ...{ //success will be true if the request succeeded
var alertcontent=ConvertResponseText(response.responseText,"",false,false);
Ext.MessageBox.alert("成功",alertcontent);
} else ...{
//Ext.MessageBox.alert("失败,请重试",response.responseText);
}
},
//the function to be called upon failure of the request (server script, 404, or 403 errors)
failure:function(response,options)...{
ReturnValue = Ext.MessageBox.alert("警告","出现异常错误!请联系管理员!");
},
success:function(response,options)...{
ds.reload();
}
})// end Ajax request
}//end if click 'yes' on button
} // end deleteRecord
//删除游戏信息 End
//#表单映射,可修改部分
function createForm()
...{
Ext.QuickTips.init();
htmleditor=new Ext.form.HtmlEditor(
...{
fieldLabel: '内容',
name: 'Edesc',
allowBlank:false,
width:550,
height:200
});
//创建单个游戏信息表单
EmpForm = new Ext.FormPanel(...{
frame: true,
labelAlign: 'right',
labelWidth: 120,
width:770,
height:400,
//头信息
items: [
new Ext.form.FieldSet(...{
title: '游戏资料分类信息表',
autoHeight: true,
defaultType: 'textfield',
items: [
//隐藏字段
new Ext.form.Hidden(...{
name: 'Tid',
value:0
}),
new Ext.form.ComboBox(
...{
width:200,
fieldLabel: '游戏名称',
hiddenName:'Gameid',
store:dsType,
valueField:'Id',
displayField:'Gname',
mode: 'local',
triggerAction: 'all',
allowBlank:false
}),
...{
fieldLabel:"标题",
name:'Etitle',
allowBlank:false
},
//输入框
htmleditor,
...{
fieldLabel:"排序",
name:'Orderid',
allowBlank:false,
value:0
}
]
})
]
});
}
GetWebServiceData();
//-->
</ script >
</ body >
</ html >
< html xmlns ="http://www.w3.org/1999/xhtml" >
< head >
< title > 游戏分类 </ title >
< link rel ="stylesheet" rev ="stylesheet" href ="/stylesheets/ext-all.css" type ="text/css"
media ="all" />
< link href ="/stylesheets/mainstyle.css" rel ="stylesheet" type ="text/css" />
< script type ="text/javascript" src ="/javascripts/ext-base.js" charset ="utf-8" ></ script >
< script type ="text/javascript" src ="/javascripts/ext-all.js" charset ="utf-8" ></ script >
< script type ="text/javascript" src ="/javascripts/xmltrans.js" charset ="utf-8" ></ script >
< script type ="text/javascript" src ="/javascripts/xmleditor.js" charset ="utf-8" ></ script >
< script type ="text/javascript" src ="/javascripts/htmleditor.js" charset ="utf-8" ></ script >
< script type ="text/javascript" src ="/javascripts/ext-lang-zh_cn.js" charset ="utf-8" ></ script >
< script type ="text/javascript" src ="/javascripts/Ext.ux.UploadDialog.packed.js" ></ script >
< script src ="/javascripts/ext-webservices.js" type ="text/javascript" ></ script >
<!-- ExtJS调用WCF的专用文件 -->
< script type ="text/javascript" src ="/javascripts/WCFHttpProxy.js" ></ script >
< script type ="text/javascript" src ="/javascripts/WCFJsonReader.js" ></ script >
< script type ="text/javascript" src ="/javascripts/WCFHelper.js" ></ script >
< script type ="text/javascript" src ="/javascripts/SearchField.js" ></ script >
</ head >
< body >
< div id ="newCharge01" class ="x-panel-bwrap" >
< div id ="group" >
</ div >
</ div >
< script type ="text/javascript" > ...
<!--
//表单,点击添加或修改时弹出的窗口中的表单对象
var EmpForm;
//添加数据窗口,其中包含了一个空值的EmpForm
var AddEmpWin;
//修改数据窗口,其中包含了一个已赋值的EmpForm
var EditEmpWin;
//数据源,要显示的列表数据源
var ds ;
//显示控件,显示列表的GridPanel控件
var grid;
//游戏列表
var dsType;
//编辑器
var htmleditor;
//函数部分
function GetWebServiceData()
...{
setDsType();
//选择按钮
var sm = new Ext.grid.CheckboxSelectionModel();
//列信息
var cm = new Ext.grid.ColumnModel([
new Ext.grid.RowNumberer(...{header:'序号',width:35}),//计算行数,无法映射
sm,
...{header:'游戏名称',dataIndex:'Gname',sortable:true,width:50},
...{header:'扩展标题',dataIndex:'Etitle',sortable:true,width:100},
...{header:'扩展内容',dataIndex:'Edesc',sortable:true,width:100},
...{header:'排序',dataIndex:'Orderid',sortable:true,width:50}
]);
//#数据源映射,可修改部分
ds = new Ext.data.Store(...{
proxy: new Ext.data.WCFHttpProxy(...{
url:'/Admin/Wcf/Gameinfosextend.svc/Gameinfosextends'
}),
reader: new Ext.data.WCFJsonReader(...{
root: 'source',//源映射
totalProperty: 'totalCount',//总页数
id:'Tid'//id值
},
[
//与返回的数据源读取映射,与数据库的表一致
...{name: 'Gname'},//如果名称一致,可以省略mapping
...{name:'Etitle'},
...{name:'Edesc'},
...{name:'Orderid'},
...{name:'Gameid'}
]
),
remoteSort: false
});
//配置视图信息
var view=new Ext.grid.GridView(...{forceFit:true,sortAscText :'正序', sortDescText :'倒序'});
view.columnsText='列显示/隐藏';
//分页
var paging = new Ext.PagingToolbar(...{
pageSize: 10,//每页显示数
store: ds,
displayInfo: true,
displayMsg: '显示第 {0} 条到 {1} 条记录,一共 {2} 条',
emptyMsg: "没有记录"
});
//头部的操作按钮
var operation = [
...{
text:'添加',
tooltip:'添加一条记录',
//iconCls:'add',
handler:handleAdd
}, '-',
...{
text:'修改',
tooltip:'修改',
//iconCls:'option',
handler:handleEdit
},'-',
...{
text:'删除',
tooltip:'删除记录',
//iconCls:'remove',
handler:handleDelete
},'-',' ','搜索(按游戏名称): ', ' ',new Ext.app.SearchField(...{store:ds,pagebar:paging,width:200,paramName:'search'})
];
//显示控件
grid = new Ext.grid.EditorGridPanel(...{
el:Ext.getBody(),//显示的位置对象
store: ds,//数据源
sm:sm,//多选按钮组
cm:cm,//列映射
view:view,//视图映射
bbar:paging,//分页
tbar:operation,//头部操作
width:770,
height:450
});
grid.render();
ds.load(...{params:...{start:0,limit:paging.pageSize,search:''}});
}
function setDsType()
...{
dsType = new Ext.data.Store(
...{
proxy: new Ext.data.WCFHttpProxy(...{url:'/Admin/Wcf/Gameinfos.svc/WCFGridsJson'}),
reader: new Ext.data.WCFJsonReader(
...{
root: 'source',
id:'Id'
},
[
...{name: 'Id'},
...{name: 'Gname'}
])
});
dsType.load(...{params:...{GsystemId:0,start:0,limit:10000,key:''}});
}
//操作部分
//添加游戏信息 Start
function handleAdd()...{
createForm();
AddEmpWin = new Ext.Window(...{
title: '增加游戏分类',
layout:'fit',
width:770,
height:400,
plain: true,
items:EmpForm,
buttons: [...{
text:'保存',
handler: AddRecord
},...{
text: '取消',
handler: function()...{
AddEmpWin.hide();
}
}]
});
AddEmpWin.show(this);
}
//保存添加的数据
function AddRecord(btn)
...{
if (EmpForm.form.isValid())
...{
btn.disabled=true;
var formvalue = EmpForm.form.getValues();
var pars =Ext.util.JSON.encode(formvalue);
//Ext.MessageBox.alert("提示",formvalues);
Ext.Ajax.request(...{
url: 'index.aspx?opr=add', //#可修改成你的方法
method: 'POST',
headers:...{"Content-Type":"application/x-www-form-urlencoded;"},
params:pars,//the unique id(s)
callback: function (options, success, response) ...{
var res = Ext.util.JSON.decode(response.responseText);
if (res.suc) ...{ //success will be true if the request succeeded
var alertcontent=ConvertResponseText(response.responseText,"",true,false);
AddEmpWin.hide();
Ext.MessageBox.alert("成功",res.mes);
} else ...{
AddEmpWin.hide();
Ext.MessageBox.alert("失败",res.mes);
}
},
//the function to be called upon failure of the request (server script, 404, or 403 errors)
failure:function(response,options)...{
AddEmpWin.hide();
Ext.MessageBox.alert("警告","出现异常错误!请联系管理员!");
},
success:function(response,options)...{
ds.reload();
}
})// end Ajax request
}
}
//添加游戏信息 End
//修改游戏信息 Start
function handleEdit()...{
createForm();
var selectedKeys = grid.selModel.selections.keys; //returns array of selected rows ids only,读选择了的数据数组
if(selectedKeys.length != 1)
...{
Ext.MessageBox.alert('提示','请选择一条记录!');
}
else
...{
EditEmpWin = new Ext.Window(...{
title: '修改游戏资料',
layout:'fit',
width:770,
height:400,
plain: true,
items:EmpForm,
buttons: [...{
text:'保存',
handler: UpdateRecord
},...{
text: '取消',
handler: function()...{
EditEmpWin.hide();
}
}]
});
EditEmpWin.show(this);
var request = ...{empid:selectedKeys[0]};
Ext.Ajax.request(...{
url: '/Admin/Wcf/Gameinfosextend.svc/GetGameinfosextend', //#可修改成你的方法,带ID参数
method: 'POST',
params:Ext.util.JSON.encode(request),//the unique id(s)
callback: function (options, success, response) ...{
if (success) ...{ //success will be true if the request succeeded
var formvalue =Ext.WS.getJson(response);
formvalue = formvalue.source;//这里返回的对象为与root映射的对象一致, 例如:如果列中映射为gname,则formvalue.gname就是它的值
EmpForm.form.setValues(formvalue);
} else ...{
//Ext.MessageBox.alert("失败","已有此游戏的指南");
}
},
//the function to be called upon failure of the request (server script, 404, or 403 errors)
failure:function(response,options)...{
Ext.MessageBox.alert("警告","出现异常错误!请联系管理员!");
},
success:function(response,options)...{
}
})// end Ajax request
}
}
function UpdateRecord(btn)
...{
if (EmpForm.form.isValid()) ...{
btn.disabled=true;
var formvalue = EmpForm.form.getValues();
var pars =Ext.util.JSON.encode(formvalue);
//var request = {emp:Ext.util.JSON.encode(ConvertFormValue(formvalue,''))};//如果有参数的类型为时间,则添入第二个参数中,多个用","号隔开
//Ext.MessageBox.alert("提示",formvalues);
//request = Ext.util.JSON.encode(request);
Ext.Ajax.request(...{
//url: '/Admin/Wcf/Gameinfosextend.svc/UpdateGameinfosextend', //#可修改成你的方法
url:"index.aspx?opr=update",
method: 'POST',
//params:pars,//the unique id(s)
headers:...{"Content-Type":"application/x-www-form-urlencoded;"},
params:pars,
callback: function (options, success, response) ...{
var res = Ext.util.JSON.decode(response.responseText);
if (res.suc) ...{ //success will be true if the request succeeded
var alertcontent=ConvertResponseText(response.responseText,"",true,false);
Ext.MessageBox.alert("成功",res.mes);
EditEmpWin.hide();
} else ...{
EditEmpWin.hide();
Ext.MessageBox.alert("失败",res.mes);
}
},
//the function to be called upon failure of the request (server script, 404, or 403 errors)
failure:function(response,options)...{
EditEmpWin.hide();
Ext.MessageBox.alert("警告","出现异常错误!请联系管理员!");
},
success:function(response,options)...{
ds.reload();
}
})// end Ajax request
}
}
//修改游戏信息 End
//删除游戏信息 Start
function handleDelete()...{
var selectedKeys = grid.selModel.selections.keys; //returns array of selected rows ids only
if(selectedKeys.length > 0)
...{
Ext.MessageBox.confirm('提示','您确实要删除选定的记录吗?', deleteRecord);
}
else
...{
Ext.MessageBox.alert('提示','请至少选择一条记录!');
}//end
}
function deleteRecord(btn)...{
if(btn=='yes')...{
var selectedRows = grid.selModel.selections.items;//returns record objects for selected rows (all info for row)
var selectedKeys = grid.selModel.selections.keys;
Ext.Ajax.request(...{
url: '/Admin/Wcf/Gameinfosextend.svc/DelGameinfosextend', //#可修改成你的方法
method: 'POST',
params:Ext.util.JSON.encode(selectedKeys),//the unique id(s)
callback: function (options, success, response) ...{
if (success) ...{ //success will be true if the request succeeded
var alertcontent=ConvertResponseText(response.responseText,"",false,false);
Ext.MessageBox.alert("成功",alertcontent);
} else ...{
//Ext.MessageBox.alert("失败,请重试",response.responseText);
}
},
//the function to be called upon failure of the request (server script, 404, or 403 errors)
failure:function(response,options)...{
ReturnValue = Ext.MessageBox.alert("警告","出现异常错误!请联系管理员!");
},
success:function(response,options)...{
ds.reload();
}
})// end Ajax request
}//end if click 'yes' on button
} // end deleteRecord
//删除游戏信息 End
//#表单映射,可修改部分
function createForm()
...{
Ext.QuickTips.init();
htmleditor=new Ext.form.HtmlEditor(
...{
fieldLabel: '内容',
name: 'Edesc',
allowBlank:false,
width:550,
height:200
});
//创建单个游戏信息表单
EmpForm = new Ext.FormPanel(...{
frame: true,
labelAlign: 'right',
labelWidth: 120,
width:770,
height:400,
//头信息
items: [
new Ext.form.FieldSet(...{
title: '游戏资料分类信息表',
autoHeight: true,
defaultType: 'textfield',
items: [
//隐藏字段
new Ext.form.Hidden(...{
name: 'Tid',
value:0
}),
new Ext.form.ComboBox(
...{
width:200,
fieldLabel: '游戏名称',
hiddenName:'Gameid',
store:dsType,
valueField:'Id',
displayField:'Gname',
mode: 'local',
triggerAction: 'all',
allowBlank:false
}),
...{
fieldLabel:"标题",
name:'Etitle',
allowBlank:false
},
//输入框
htmleditor,
...{
fieldLabel:"排序",
name:'Orderid',
allowBlank:false,
value:0
}
]
})
]
});
}
GetWebServiceData();
//-->
</ script >
</ body >
</ html >
再来看看index.aspx页面的后台代码:
using
System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO; // 注意,导入
using CommonHelper;
using YouXi.DB;
namespace YouXi.Components
... {
public class gameinfosextend : System.Web.UI.Page
...{
protected void Page_Load(object sender, EventArgs e)
...{
YouXi.Components.Gameinfos bll = new YouXi.Components.Gameinfos();
YouXiNavigateDataContext db = new YouXiNavigateDataContext();
//这里开始是关键的代码,将传过来的数据流读取到流对象,注意一下编码,在这个例子里是UTF8的
System.IO.StreamReader red = new StreamReader(Request.InputStream, System.Text.Encoding.UTF8/**//*有可能是gb2312*/);
//将流中的数据读出来,赋值给字符串
string strContent = red.ReadToEnd();
string opr = string.Empty;
bool canUpdate = false;
DB.Gameinfosextend game = strContent.DeJSON<DB.Gameinfosextend>();
if (Request.QueryString["opr"] != null)
...{
opr = Request.QueryString["opr"].ToString();
}
string message = string.Empty;
bool success = false;
switch (opr)
...{
case "update":
DB.Gameinfosextend h = db.Gameinfosextend.Where(n => n.Gameid == game.Gameid && n.Etitle == game.Etitle).SingleOrDefault();
if (h == null)//修改后的游戏在已有的数据中没有
...{
canUpdate = true;
}
else if (h.Gameid == game.Gameid && h.Etitle !=game.Etitle || h.Tid == game.Tid )//修改后的游戏在已有的数据中有,且是同一条数据
...{
canUpdate = true;
}
if (canUpdate)
...{
var m = db.Gameinfosextend.Single(n => n.Tid == game.Tid);
int ogid = m.Gameid;
m.Etitle = game.Etitle;
m.Edesc = game.Edesc.targetLink();
m.Gameid = game.Gameid;
m.Orderid = game.Orderid;
if (m.Edesc.Trim().Length >= 5)
...{
db.SubmitChanges();
if (ogid != m.Gameid)
...{
message = bll.MadeGameHTML(ogid);
}
message = message + bll.MadeGameHTML(m.Gameid);
success = true;
}
else
...{
message = "内容至少五个字符!";
}
}
else
...{
message = "已有此游戏的扩展标题!";
}
break;
case "add":
db.Gameinfosextend.InsertOnSubmit(game);
if (db.Gameinfosextend.Where(n => n.Gameid == game.Gameid && n.Etitle == game.Etitle).SingleOrDefault() == null)
...{
if (game.Edesc.Trim().Length >= 5)
...{
game.Createtime = DateTime.Now;
db.SubmitChanges();
message = bll.MadeGameHTML(game.Gameid);
success = true;
}
else
...{
success = false;
message = "内容至少五个字符!";
}
}
else
...{
success = false;
message = "已有此游戏的扩展标题!";
}
break;
default:
message = "未添加任何数据!";
break;
}
var json = new ...{ suc = success, mes = message.ToLower().Replace("<a", "<a style='color:Red;text-decoration:underline;'") };
Response.Write(json.ToJSON());
Response.Flush();
}
}
}
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO; // 注意,导入
using CommonHelper;
using YouXi.DB;
namespace YouXi.Components
... {
public class gameinfosextend : System.Web.UI.Page
...{
protected void Page_Load(object sender, EventArgs e)
...{
YouXi.Components.Gameinfos bll = new YouXi.Components.Gameinfos();
YouXiNavigateDataContext db = new YouXiNavigateDataContext();
//这里开始是关键的代码,将传过来的数据流读取到流对象,注意一下编码,在这个例子里是UTF8的
System.IO.StreamReader red = new StreamReader(Request.InputStream, System.Text.Encoding.UTF8/**//*有可能是gb2312*/);
//将流中的数据读出来,赋值给字符串
string strContent = red.ReadToEnd();
string opr = string.Empty;
bool canUpdate = false;
DB.Gameinfosextend game = strContent.DeJSON<DB.Gameinfosextend>();
if (Request.QueryString["opr"] != null)
...{
opr = Request.QueryString["opr"].ToString();
}
string message = string.Empty;
bool success = false;
switch (opr)
...{
case "update":
DB.Gameinfosextend h = db.Gameinfosextend.Where(n => n.Gameid == game.Gameid && n.Etitle == game.Etitle).SingleOrDefault();
if (h == null)//修改后的游戏在已有的数据中没有
...{
canUpdate = true;
}
else if (h.Gameid == game.Gameid && h.Etitle !=game.Etitle || h.Tid == game.Tid )//修改后的游戏在已有的数据中有,且是同一条数据
...{
canUpdate = true;
}
if (canUpdate)
...{
var m = db.Gameinfosextend.Single(n => n.Tid == game.Tid);
int ogid = m.Gameid;
m.Etitle = game.Etitle;
m.Edesc = game.Edesc.targetLink();
m.Gameid = game.Gameid;
m.Orderid = game.Orderid;
if (m.Edesc.Trim().Length >= 5)
...{
db.SubmitChanges();
if (ogid != m.Gameid)
...{
message = bll.MadeGameHTML(ogid);
}
message = message + bll.MadeGameHTML(m.Gameid);
success = true;
}
else
...{
message = "内容至少五个字符!";
}
}
else
...{
message = "已有此游戏的扩展标题!";
}
break;
case "add":
db.Gameinfosextend.InsertOnSubmit(game);
if (db.Gameinfosextend.Where(n => n.Gameid == game.Gameid && n.Etitle == game.Etitle).SingleOrDefault() == null)
...{
if (game.Edesc.Trim().Length >= 5)
...{
game.Createtime = DateTime.Now;
db.SubmitChanges();
message = bll.MadeGameHTML(game.Gameid);
success = true;
}
else
...{
success = false;
message = "内容至少五个字符!";
}
}
else
...{
success = false;
message = "已有此游戏的扩展标题!";
}
break;
default:
message = "未添加任何数据!";
break;
}
var json = new ...{ suc = success, mes = message.ToLower().Replace("<a", "<a style='color:Red;text-decoration:underline;'") };
Response.Write(json.ToJSON());
Response.Flush();
}
}
}