asp.net-mvc – jQGrid和MVC 3.0 ViewModel

是否可以通过
javascript公开Viewmodel的值?

我想知道的是我的viewmodel已经拥有所有必要的数据并希望将它绑定到jQGrid.我可以看到它我可以采取两种方法(可能有更多的解决方案,我没有看到):

>通过ajax获取数据.这是我在测试项目中做过一次并且网格显示的值.如果这种方法,那么我想如果我用ajax获取数据,我将不需要viewmodel?
>从viewmodel获取数据.我在javascript中看到你如何设置jQGrid的方式.但是,我如何从viewmodel获取数据并将jQGrid设置为{dataType:’local’,data = X},其中X应该是我的viewmodel的JSON

希望我已经明确了=)

我需要提示进一步调查!

最佳答案 你可以用这个:

return (model, JsonRequestBehavior.AllowGet);

向您的网格的get或post请求发送Json格式的响应.您需要注意数据的格式,例如我们将其用作所有jqGrid模型的基类:

public class JqGridInfo<TModel>
{
    public virtual int total { get; set; }

    public virtual int page { get; set; }

    public virtual int records { get; set; }

    public virtual List<TModel> rows { get; set; }
}

这将使JSON响应模仿jqGrid所期望的内容.

点赞