2013-08-23 2 views
0

У меня есть какое-то требование, мне нужно создать сетку jquery. Я создал JQgrid, для этого JQgrid мне нужно получить некоторые динамические значения из метода контроллера. Этот метод может возвращать int или string (а не другое представление). Когда я вызываю метод контроллера, используя @ Url.Action («метод», «контроллер»). Я не получаю значение и эта часть кода не выполняется.Как я могу вызвать метод контроллера из вида

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


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

Примечание: этот метод вернет значение int.

ответ

1

Вы просто сказали URL, но вы не назвали его .. решение использовать $ .ajax из JQuery и вызывать методы действий

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


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

спасибо Теперь я могу вызовите метод контроллера, но я не могу получить значение от этого. Вот мой метод в контроллере public См. мой метод. – Prathiesh

0

Ваш контроллер не должен содержать каких-либо методов или функциональные возможности для действий, за исключением. Если вы хотите передать данные (например) базы данных в целях, ваши выборки функции должны быть написаны в классе модели и передаются в действии вашей страницы следующим образом:

public ActionResult index() { 
    ViewData["KEY"] = MyValue; 
    ... 
} 
Смежные вопросы