1

我有一个 MVC3 项目,我在其中创建了一个动态 jQuery DataTable。我在我的表中添加了一个名为“GetDataFunc”的自定义属性,其中包含控制器端的操作名称。我想在定义 DataTable 时使用此属性的值,但 @Url.Action 不接受第一个参数中的参数(与字符串相反)。

我的代码:

        var table = document.getElementById('UsersTbl');

        if (table.hasAttribute("GetDataFunc")) {

            var func = table.GetDataFunc;

            var oTable = $('#MyTbl').dataTable({
                "bServerSide": true,
                "sAjaxSource": '@Url.Action(func, "MyPages")',
                "bProcessing": true,
                "aoColumns": cols,
                "oLanguage": { "sSearch": "Search all columns:" },
                "fnDrawCallback": function (oSettings) {
                    totalRecords = oSettings.fnRecordsDisplay();
                }
            });

        }

当我尝试运行我的程序时,我得到:
当前上下文中不存在名称“func”

如何动态定义在控制器端调用哪个函数?

谢谢

4

1 回答 1

0

您正在尝试混合使用 JavaScript 和 C#。不。

而不是'@Url.Action(func, "MyPages")'只使用 javascript 来确定你需要去的 url。在一天结束时,会为@Url.Action您生成一个带有控制器/操作的 url 的字符串。

于 2013-04-11T11:51:24.613 回答