1

動的な jQuery DataTable を作成する MVC3 プロジェクトがあります。コントローラー側のアクション名を含む「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();
                }
            });

        }

プログラムを実行しようとすると、次のメッセージが表示されます:
The name 'func' does not exist in the current context

コントローラー側で呼び出す関数を動的に定義するにはどうすればよいですか?

ありがとう

4

1 に答える 1

0

JavaScript と C# を混在させようとしています。しないでください。

'@Url.Action(func, "MyPages")'あなたが行く必要があるURLを決定するためにjavascriptを使用するだけではありません。一日の終わりに@Url.Action、コントローラー/アクションの URL を含む文字列が生成されます。

于 2013-04-11T11:51:24.613 に答える