我有一些要求,比如,我需要创建一个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值。
答案 0 :(得分: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;
}
答案 1 :(得分:0)
您的控制器不应包含除操作之外的任何方法或功能。如果您希望将数据从(例如)数据库传递到视图,那么您的获取功能应该在Model类中编写并传递到页面的操作中,如下所示:
public ActionResult index() {
ViewData["KEY"] = MyValue;
...
}