【发布时间】:2015-03-17 19:14:39
【问题描述】:
我在 *.aspx 页面中有一个对 javascript 函数(在其他地方定义)的调用,该函数以 object 作为参数...
myPage.aspx
<script type="text/javascript">
BuildTable("Results/TableList/", "TableTitle", {<%: Model.DataTable%>});
refreshTable(sortTable["tbl-div_id"]);
</script>
scripts.js
//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.....
});
}
postBackUrl - 在控制器中
[Authorize]
public ActionResult TableList,<params>, DataTable values)
{
...
//`values` comes back a new object, there are no colmns defined,
}
我可以在myPage.aspx 中看到为<%:Model.DataTable%> 定义的列和行,但是一旦我进入javascript 调试器,我就无法识别该对象。
问题
如何确保 aspx 页面将整个 DataTable 对象发送到 javascript 并将 javascript 发送回服务器控制器,以便我可以操作值?
更新
如果有办法从视图直接进入控制器,我也愿意
【问题讨论】:
-
这个
<:不应该是这个<%Model.DataTable%> -
查看编辑....还是什么都没有
标签: javascript c# jquery asp.net datatable