【问题标题】:send jquery datatables rows selected to server side c# asp.net将选定的jquery数据表行发送到服务器端c#asp.net
【发布时间】:2017-03-03 02:54:06
【问题描述】:
function Delete() 
     {
         var iTable = $('#Dims').DataTable();
         var rows = iTable.rows('.selected').indexes();             
         document.getElementById('<%=hdnRows.ClientID %>') = rows;  

     }

我正在尝试获取数据表中选定的行并将其放入名为 hdnRows 的隐藏字段中,以便我可以从用于填充数据表的列表中删除选定的行。我不确定 rows 变量是什么类型,因为它可以包含多个索引(它必须是一个数组)。

我尝试使用 for 循环并遍历变量行并将其以逗号分隔的字符串添加到 hdnRows。

 for (var i = 0; i < length; i++) {
             document.getElementById('<%=hdnRows.ClientID %>') += rows[i] + ',';
         }

这也没有将任何东西放入隐藏字段。我什至尝试过硬编码一个数字,看看它是否可行

document.getElementById('<%=hdnRows.ClientID %>') = '3'; 

我正在从 asp 按钮的 onclientclick 方法中执行一个名为 delete 的 javascript 函数。

<asp:Button ID="btnDelete" runat="server" OnClientClick="Delete()" Text="Del" />

我读到的所有内容都说这应该有效。如果有人回答问题,请务必指明 var rows 的数据类型。

一旦在服务器端,我只需要从 a 中删除选定的行

List<structs>

我用来填充表格

【问题讨论】:

    标签: javascript c# asp.net datatables


    【解决方案1】:

    我非常接近。

    document.getElementById('<%=hdnRows.ClientID %>').value = rows[0].toString();
    

    要记住的主要内容是

    1. 通过 id 获取元素(隐藏字段)后需要 .value。请务必使用 small v 而不是大写 V,因为后者不起作用,并且在服务器端它是大写 V

    2. 隐藏字段存储一个字符串,因此如果您使用数字,请务必添加 .toString() 方法。

    顺便说一句,rows 变量是一个数组。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-07
      • 1970-01-01
      • 1970-01-01
      • 2014-01-16
      • 1970-01-01
      • 2013-04-11
      • 2021-12-07
      • 1970-01-01
      相关资源
      最近更新 更多