将Javascript中的DataTable对象传递给控制器

将Javascript中的DataTable对象传递给控制器,javascript,c#,jquery,asp.net,datatable,Javascript,C#,Jquery,Asp.net,Datatable,我在一个*.aspx页面中调用了一个javascript函数(在别处定义),该函数将对象作为参数 myPage.aspx BuildTable(“Results/TableList/”、“TableTitle”、{}); 刷新表(可排序[“tbl-div_id]”); scripts.js //全局 var sortTable={}; 函数构建表(url、标题、参数) { var myTable=新对象(); myTable.postBackUrl=url; myTable.Title=标题

我在一个*.aspx页面中调用了一个javascript函数(在别处定义),该函数将
对象
作为参数

myPage.aspx


BuildTable(“Results/TableList/”、“TableTitle”、{});
刷新表(可排序[“tbl-div_id]”);
scripts.js

//全局
var sortTable={};
函数构建表(url、标题、参数)
{
var myTable=新对象();
myTable.postBackUrl=url;
myTable.Title=标题;
myTable.args=(args!=未定义)?args:new Object();
sortTable[]=myTable;
}
功能排序表(selectedTable)
{
$.ajax({
url:selectedtable.postBackUrl,
数据:selectedtable.args,
成功:功能。。。。。
});
}
postBackUrl-in控制器

[授权]
公共操作结果表列表,,数据表值)
{
...
//`values`返回一个新对象,没有定义列,
}
我可以在
myPage.aspx
中看到为
定义的列和行,但一旦进入javascript调试程序,我就无法识别该对象

问题

我如何确保aspx页面将整个DataTable对象发送到javascript,并将javascript发送回服务器控制器,以便随后可以操作值

更新


如果有一种方法可以直接从视图中转到控制器,我也会首先打开它,
上有一个输入错误,应该是
看看这是否有帮助,否则你可以做的是将该对象作为一个隐藏元素放入一个ID为的输入标记中,并通过javascript
document.getElementById(隐藏输入的ID)传递该元素对象
看看这是否有用。

我最后使用了一个Session[]变量

myPage.aspx


此时,table现在具有模型的值,我不必在javascript中处理复杂的数据对象,这不应该
参见edit。。。。还是什么都没有你叫什么?我想更多地了解他们。。。而且,这不起作用,我仍然没有看到JavaScriptlet中出现任何东西,这些被称为scriptlet;它是当用户请求页面时运行的Java代码片段。如果这不起作用,我会尝试使用第二个选项,它有一个隐藏的表,并通过javascript
getElementById(元素的id)获取该元素的引用我最终希望该对象从javascript发送到控制器,但javascript是无类型的否?那么这不会导致我丢失对象的所有成员吗?
getElementById(元素的id)应该可以获取表的所有成员。我不是试图使用HTML中的值,没有与元素关联的ID,我只是试图获取模型的一个成员
<script type="text/javascript">
    BuildTable("Results/TableList/", "TableTitle",  {<%: Model.DataTable%>});
    refreshTable(sortTable["tbl-div_id"]);
</script>
//global
var sortTable = {};

function BuildTable(url, title, args)
{
   var myTable = new Object();
   myTable.postBackUrl = url;
   myTable.Title = title;
   myTable.args = (args != undefined) ? args : new Object();
   sortTable[<index>] = myTable;
 }

 function sortTable(selectedTable)
 {
    $.ajax({
        url: selectedtable.postBackUrl,
        data: selectedtable.args,
        sucess: function.....
        });
  }
[Authorize]
 public ActionResult TableList,<params>, DataTable values)
 {
     ...
     //`values` comes back a new object, there are no colmns defined, 
 }
 <%
    Session["myTable"] = Model.DataTable;
 %>
 DataTable table = (DataTable)HttpContext.Session["myTable"];