2013-08-23 61 views
0

我有一些需求,我需要創建一個jQuery網格。我創建了JQgrid,對於那個JQgrid我需要從控制器方法中獲取一些動態值該方法可能會返回int或字符串(而不是另一個視圖)。當我使用@ Url.Action(「method」,「controller」)調用控制器方法時,我沒有獲得價值,並且代碼部分未執行。我怎樣才能從視圖調用控制器方法

function setrownumJQ() { 
     var rownum = 0; 
     rownum = '@Url.Action("method", "controller")'; 
     return rownum; 
    } 
Method in controller: 


int setRowNum() 
     { 
      var r = 4; 
      return r; 
     } 

注意:此方法將返回一個int值。

回答

1

你剛纔說的網址,但你不把它稱爲..解決方案是使用jquery的阿賈克斯$和調用操作方法

function setrownumJQ() { 
    var rownum = 0; 
    var url = '@Url.Action("method", "controller")'; 
    $.ajax({ 
     url: url 


    }).done(function (data) { 
     rownum = data 
    }); 
    return rownum; 
} 
+0

感謝現在我能夠調用控制器的方法,但我無法從中獲得價值。在公共控制器中的我的方法請參閱我的方法。 – Prathiesh

0

你的控制器不應該包含除了動作的任何方法或功能。如果您想從(例如)數據庫視圖傳遞數據,您的抓取功能應該在模型類編寫,並在你的頁面的動作通過如下:

public ActionResult index() { 
    ViewData["KEY"] = MyValue; 
    ... 
}