1
我有一個MVC3項目,我在其中創建了一個動態jQuery DataTable。我在我的表中添加了一個名爲「GetDataFunc」的自定義屬性,其中包含控制器端的操作名稱。 我想在定義DataTable時使用此屬性的值,但@ Url.Action不會接受第一個參數中的參數(與字符串相反)。在MVC3中動態設置動作名稱cshtml
我的代碼:
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();
}
});
}
當我嘗試運行我的程序,我得到:
名稱「功能」不會在目前情況下存在
如何動態定義哪個函數調用控制器端?
謝謝
爲什麼你不能只使用一個字符串?如果您知道方法名稱,則使用它與'Url.Action'。 – 2013-04-11 11:50:51
因爲我不知道。我將從外部XML文件中獲取函數名稱。正如我所說,這是一個動態數據表。你是對的,如果我在頁面上只有一個表格,就不會有這樣的問題,但是如果我有多個表格,我將無法知道應該調用哪個函數。 – 2013-04-14 07:06:08