Jquery 如何从视图调用控制器方法
我有一些要求,比如,我需要创建一个jquery网格。我创建了JQgrid,对于该JQgrid,我需要从controller方法获取一些动态值,该方法可能返回int或string(而不是另一个视图)。当我使用@Url.Action(“method”,“controller”)调用controller方法时.我没有得到值,并且代码部分没有执行Jquery 如何从视图调用控制器方法,jquery,asp.net-mvc-4,jqgrid,Jquery,Asp.net Mvc 4,Jqgrid,我有一些要求,比如,我需要创建一个jquery网格。我创建了JQgrid,对于该JQgrid,我需要从controller方法获取一些动态值,该方法可能返回int或string(而不是另一个视图)。当我使用@Url.Action(“method”,“controller”)调用controller方法时.我没有得到值,并且代码部分没有执行 function setrownumJQ() { var rownum = 0; rownum = '@Url.Act
function setrownumJQ() {
var rownum = 0;
rownum = '@Url.Action("method", "controller")';
return rownum;
}
Method in controller:
int setRowNum()
{
var r = 4;
return r;
}
注意:此方法将返回一个int值。您刚刚告诉了URL,但没有调用它。。解决方案是使用jquery的$.ajax并调用动作方法
function setrownumJQ() {
var rownum = 0;
var url = '@Url.Action("method", "controller")';
$.ajax({
url: url
}).done(function (data) {
rownum = data
});
return rownum;
}
控制器不应包含除操作之外的任何方法或功能。如果希望将数据从(例如)数据库传递到视图,则应在模型类中编写获取功能,并在页面的操作中传递,如下所示:
public ActionResult index() {
ViewData["KEY"] = MyValue;
...
}
谢谢,现在我可以调用controller方法,但是我无法从中获取值。这里我在controller public中的方法可以看到我的方法。