通过jquery将网格视图数据发送到另一个页面
Send gridview data to another page through jquery
>我有一个页面,当页面第一次加载时,我正在从服务器绑定grdiview,但随后我必须做客户端工作,通过从客户端添加/删除行来过滤网格的数据。这是代码
function onSuccess(response) {
// debugger;
var xmlDoc = $.parseXML(response.d);
var xml = $(xmlDoc);
var customers = xml.find("ListOfComplaints");
var appendline = '<tr align="center" style="color:#333333;background-color:#F7F6F3;">' +
' <td align="center"></td>' +
' <td align="center">7</td>' +
' <td align="center">Feb 29, 2016</td>' +
' <td align="center">1000</td>' +
' <td align="center">CompanyName</td>' +
' <td align="center">high discharge pressure</td>' +
' <td align="center">high discharge pressure</td>' +
' </tr>';
if (customers.length > 0) { //If Data Found
$('[id*=grdlead]').show();
$('#tblmessage').hide();
$("[id*=grdlead] tbody tr").has('td').remove(); //remove all data rows
$("[id*=grdlead] tbody").append(appendline); //append default row
} else {
$('[id*=grdlead]').hide();
$('#tblmessage').show();
}
var row = $("[id*=grdlead] tr:last-child").clone(true);
$("[id*=grdlead] tr").not($("[id*=grdlead] tr:first-child")).remove();
$.each(customers, function () {
// debugger;
var customer = $(this);
//$("td a:first", row).attr('href', 'ComplaintDetails.aspx?id=' + $(this).find("Id").text() + '&hideall=true&cid=' + $(this).find("ProjectId").text());
$("td", row).eq(0).html($(this).find("CustomerName").text());
$("td", row).eq(1).html($(this).find("EquipModelNo").text());
$("td", row).eq(2).html($(this).find("ProjectNo").text());
$("td", row).eq(3).html($(this).find("ContractType").text());
$("td", row).eq(4).html($(this).find("NoOfDays").text());
$("td", row).eq(5).html($(this).find("ExpenAmount").text());
$("td", row).eq(6).html($(this).find("ExpenDateFormatted").text());
$("[id*=grdlead]").append(row);
row = $("[id*=grdlead] tr:last-child").clone(true);
});
}
所以上面的代码是添加/删除网格行客户端。现在我想将网格数据作为数据表传递到另一个页面。
所以我在服务器端这样做,我的意思是单击按钮将网格视图数据转换为数据库,网格显示所有数据。
作为第一次从服务器端绑定网格..在视图状态中,它拥有所有数据,但之后我在客户端进行操作。
所以当我检查服务器上的网格视图行时,它显示了第一次加载的所有行。
现在如何解决这个问题?
一般来说,不能向客户端呈现的 GridView 添加行。
一方面,这是一个安全问题,默认情况下,aspx 页面将设置 @Page 指令EnableEventValidation="true" ValidateRequest="true"
以"降低未经授权的回发请求和回调的风险"
网格视图不打算以这种方式更新。
网格视图是一个数据绑定控件。更新 GridView 的唯一正确方法是对后备数据存储进行更改,然后重新绑定 GridView。
这意味着您必须使用 GridView 的内部编辑功能,这通常意味着一次添加一行数据。
或者,您必须实现一个基于 jquery/js 且与 GridView 完全分开的客户端数据输入系统。 将该数据发布回服务器,更新 GridView 数据存储并重新绑定 GridView。
相关文章:
- 正在传递JSONP标头's数据参数到另一个文件中的AJAX请求
- 将节点数据分配给另一个变量jstree
- 用javascript将数据从一个窗口传递到另一个窗口
- javascript函数将数据添加到屏幕,但随后被另一个函数覆盖
- 如何使用另一个字符串作为模板从字符串中提取数据
- 如何将JavaScript变量的数据传递到另一个php页面
- 使用数据属性将HTML数据复制到另一个元素
- 事件循环的MEAN.JS setInterval进程(从另一个服务器获取数据)
- AngularJS从另一个数据模型访问数据模型
- 如何检测一个数据角色=“页面”中对特定列表视图项的单击,并在另一个数据上显示相应的数据
- 在 Backbone js 中永久引用来自另一个数据的数据
- 如何从一个数据数组绘制图表并从另一个数据数组在图表上制作标签?高图表 v.4.0.4.
- jQuery Mobile - 如何在从一个数据角色页面移动到另一个数据角色页面时传递参数
- 如何在谷歌图表中添加另一个数据系列
- 在绘图中添加另一个数据序列
- 如何根据本地存储的另一个数据响应延迟XMLHttpRequest
- 遍历jquery数据()对象,并将它们推送到另一个数据()的对象(数组)中
- 另一个数据绑定中的 AngularJS 数据绑定
- 如何从 vue.js 数据中获取一个值到另一个数据参数中
- 通过点击另一个数据表中的一行来过滤一个表中的数据