Asp.net mvc 如何从模型填充jqgrid

Asp.net mvc 如何从模型填充jqgrid,asp.net-mvc,jqgrid,Asp.net Mvc,Jqgrid,您好,我正在从事使用jqgrid的MVC项目。我有一个主网格。单击行和编辑按钮,我将进入CreateOrEdit视图。在该视图中,还有一个多栅格-详图栅格 在创建的情况下:主网格(标签和各自的编辑器for)和详细网格的字段将为空,一旦我们填充所有内容(标签和各自的编辑器for以及网格)并单击保存。。它被保存了。。做了这么多工作。现在问题来了 编辑时:我必须根据在主栅格中选择的Id填充详图栅格 我试过这样的方法: url:'@Url.Action("PDVs", "GetData", new {

您好,我正在从事使用jqgrid的MVC项目。我有一个主网格。单击行和编辑按钮,我将进入CreateOrEdit视图。在该视图中,还有一个多栅格-详图栅格

在创建的情况下:主网格(标签和各自的编辑器for)和详细网格的字段将为空,一旦我们填充所有内容(标签和各自的编辑器for以及网格)并单击保存。。它被保存了。。做了这么多工作。现在问题来了

编辑时:我必须根据在主栅格中选择的Id填充详图栅格

我试过这样的方法:

url:'@Url.Action("PDVs", "GetData", new { pdv = @Model.Details})'
data: JSON.stringify('@(Model.Details)')
和/或将url指定为:

url:'/PDVs/GetData'
控制器中

public JsonResult GetData(Details details)
以便接收模型并进行查询,并将
JsonResult
发送回, 但是模型
details
正在为所有字段获取
null

有人能告诉我如何解决这个问题吗

更新:详细信息模型为

using System;
using System.Collections.Generic;
using Repository.Pattern.Ef6;

namespace Abc.PROJECTS.Models
{
    public partial class PDVDuration:Entity
    {
        public int PDVDurationId { get; set; }
        public Nullable<int> PDVId { get; set; }
        public Nullable<System.DateTime> DateFrom { get; set; }
        public Nullable<System.DateTime> DateTo { get; set; }
        public string Type { get; set; }
        public string Remarks { get; set; }
       public virtual PDV PDV { get; set; }
    }
}

我想你对
Url.Action
方法有问题,如果你想要像你写的那样的Url,你应该翻转参数

无论如何,如果需要整个模型,我想您可以尝试在jqgrid init中这样编写:

url: '@Url.Action("GetData", "PDVs")',
postData: '@Html.Raw(Json.Encode(Model))'
但是如果您只需要一些字段,您可以这样写:

url: '@Url.Action("GetData", "PDVs")',
postData: 
{
   PDVDurations: @Model.PDVDurations
}
但您应该在控制器方法中写入不同的签名。像这样:

public JsonResult GetData(int PDVDurations)

您能显示
详细信息
型号吗?另外,您在
jqgrid
中使用了什么
mtype
?您的数据很复杂?难道你们不想把id发送给控制器,然后按照你们的方法得到JsonResult吗?是的,我后来就是这么做的,然后又卡住了。。。在创建。。模型将为空。。因此我得到“对象引用未设置为对象的实例。”错误。如何检查模型是否为null并将id作为0或其他形式发送?我tryd..`url:'@url.Action(“GetDurations”,“PDVs”,new{id=@Model.PDVId})”,`和函数`checkIfNull(){if('@Model.IsEmpty'){var x=0;}否则{var x='@Model.PDVId';}*@“是否可以在创建和编辑时使用相同的jqgrid?!”?!通过使用部分视图..我如何发送url:“@url.Action”(“GetDurations”,“PDV”,new{id=@Model.PDVId})”,仅在编辑时发送,而不在创建时发送?
public JsonResult GetData(int PDVDurations)