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 值。

4

2 回答 2

1

您只是告诉了 URL,但您没有调用它.. 解决方案是使用 jquery 的 $.ajax 并调用操作方法

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


    }).done(function (data) {
        rownum = data
    });
    return rownum;
}
于 2013-08-23T09:54:33.073 回答
0

您的控制器不应包含除操作之外的任何方法或功能。如果您希望将数据从(例如)数据库传递到视图,则应将获取功能写入 Model 类并在页面的操作中传递,如下所示:

public ActionResult index() {
    ViewData["KEY"] = MyValue;
    ...
}
于 2013-08-23T09:57:41.333 回答