1. 涉及到的技術。
asp.net mvc 3.0.
jquery, jquery easyui datagrid.
jquery-json - 把js對象,生成json格式的插件 (http://code.google.com/p/jquery-json/ )
2. 場景。
我們知道由datagrid編輯后生成的數據是js對象。 這樣我們提交到服務器,是無法解析的(如果你有好的方式,請在下面評論,ths)。所以需要解析為json.
datagrid 生成json :
var table = $("#table_directory").datagrid("getRows");
var obj = "[";
for ( var i = 0; i < table.length; i++) {
$('#table_directory').datagrid("endEdit", i);
obj += $.toJSON(table[i]);
if (i != table.length - 1) {
obj += ",";
}
}
obj += "]";
服務器解析json:
JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer();
List<SectionBase> listSectionBase = javaScriptSerializer.Deserialize(jsonChapter, typeof(List<SectionBase>)) as List<SectionBase>;
SectionBase 這個類不用管。
是你自己的類即可,哪怕服務器端的屬性和前端提交的不一致,也沒有問題。 這樣數據已經到了服務器,自己就可以繼續進行服務器操作了。