C# 在返回视图中返回json值时未传递值

C# 在返回视图中返回json值时未传递值,c#,json,asp.net-mvc,jqgrid,C#,Json,Asp.net Mvc,Jqgrid,我有一个视图,我想以这种方式返回视图中的json值,但数据不返回。当删除return视图并只传递return json()时,数据将显示在网格中。但格式不正确意味着像控制台窗口这样的数据显示无法在jqgrid中正确显示。我正在分享我正在使用的动作结果、json函数和网格 请回顾一下,并告诉我什么是解决方案?如何在返回视图中返回json值 Action public ActionResult Ownership_Detail(string MemberShipID)

我有一个视图,我想以这种方式返回视图中的json值,但数据不返回。当删除return视图并只传递return json()时,数据将显示在网格中。但格式不正确意味着像控制台窗口这样的数据显示无法在jqgrid中正确显示。我正在分享我正在使用的动作结果、json函数和网格

请回顾一下,并告诉我什么是解决方案?如何在返回视图中返回json值

Action

    public ActionResult Ownership_Detail(string MemberShipID)
                {
                    ViewBag.id = MemberShipID;
                    Ownership_D(MemberShipID);
                    return View(Json(ViewBag.objOwnershipDetail, JsonRequestBehavior.AllowGet));


                }



json Function
     public JsonResult Ownership_D(string MemberShipID)
            {
                List<OwnerShip> OwnerShipDetail = new List<OwnerShip>();
                OwnerShip obj_ownership;
                using (SqlConnection con = new SqlConnection(constring))
                {
                    if (MemberShipID == null)
                    {
                        cmd = new SqlCommand("select ISNULL(FD.FileID, '') as FileID, FD.TransDate, P.PhaseName as Project, CONCAT(RTRIM(Sec.SectorName), +'/' + I.PlotNo) as UnitNo,RP.RPersonName " +
                           "from MemberMaster MM " +
                           "inner join MembersDetail MD on MD.MemberShipID = MM.MemberShipID and MD.Srno = 1 " +
                           "inner join MasterFileDetail FD on FD.MembershipID = MM.MemberShipID and FD.IsOwner = 1 and FD.IsTransfered = 1 and FD.IsCancelled=0 " +
                           "inner join MasterFile FM on FM.FileID = FD.FileID and FM.Cancel = 0 " +
                           "inner join Sectors Sec on Sec.Phase_ID = FM.PhaseId and Sec.Sector_ID = FM.Sector_ID " +
                           "left join PlotsInventory I on I.Phase_ID = FM.PhaseId and I.Plot_ID = FM.Plot_ID " +
                           "inner join Phases P on P.Phase_ID = FM.PhaseId " +
                           "inner join ReferencePerson RP on RP.RPersonID = FM.RPersonID " +
                           "where MM.MemberShipID = '" + clsCommon._MembershipID + "'", con);
                }

                    else
                    {
                    cmd = new SqlCommand("select ISNULL(FD.FileID, '') as FileID, FD.TransDate, P.PhaseName as Project, CONCAT(RTRIM(Sec.SectorName), +'/' + I.PlotNo) as UnitNo,RP.RPersonName " +
                             "from MemberMaster MM " +
                             "inner join MembersDetail MD on MD.MemberShipID = MM.MemberShipID and MD.Srno = 1 " +
                             "inner join MasterFileDetail FD on FD.MembershipID = MM.MemberShipID and FD.IsOwner = 1 and FD.IsTransfered = 1 and FD.IsCancelled=0 " +
                             "inner join MasterFile FM on FM.FileID = FD.FileID and FM.Cancel = 0 " +
                             "inner join Sectors Sec on Sec.Phase_ID = FM.PhaseId and Sec.Sector_ID = FM.Sector_ID " +
                             "left join PlotsInventory I on I.Phase_ID = FM.PhaseId and I.Plot_ID = FM.Plot_ID " +
                             "inner join Phases P on P.Phase_ID = FM.PhaseId " +
                             "inner join ReferencePerson RP on RP.RPersonID = FM.RPersonID " +
                             "where MM.MemberShipID = '" + MemberShipID + "'", con);
                }


                cmd.CommandType = CommandType.Text;
                    con.Open();
                    SqlDataAdapter ad = new SqlDataAdapter(cmd);
                    DataTable mdt_Member = new DataTable();
                    ad.Fill(mdt_Member);

                    for (int i = 0; i < mdt_Member.Rows.Count; i++)
                    {
                        obj_ownership = new OwnerShip();
                        obj_ownership.FileId = mdt_Member.Rows[i]["FileId"].ToString();
                        if (mdt_Member.Rows[i]["TransDate"] != DBNull.Value)
                        {

                            obj_ownership.TransDate = DateTime.Parse(mdt_Member.Rows[i]["TransDate"].ToString()).ToString("yyyy-MM-dd");
                        }
                        else
                            obj_ownership.TransDate = string.Empty;

                        obj_ownership.Project = mdt_Member.Rows[i]["Project"].ToString();
                        obj_ownership.UnitNo = mdt_Member.Rows[i]["UnitNo"].ToString();
                        obj_ownership.RpersonName = mdt_Member.Rows[i]["RpersonName"].ToString();


                        OwnerShipDetail.Add(obj_ownership);
                        ViewBag.objOwnershipDetail = OwnerShipDetail;
                    }
                    con.Close();
                }
                return Json(OwnerShipDetail, JsonRequestBehavior.AllowGet);
            }
动作
public ActionResult所有权详细信息(字符串成员身份ID)
{
ViewBag.id=成员身份id;
所有权(成员身份ID);
返回视图(Json(ViewBag.objOwnershipDetail,JsonRequestBehavior.AllowGet));
}
json函数
公共JsonResult所有权(字符串成员身份ID)
{
列表所有者详细信息=新列表();
所有权对象所有权;
使用(SqlConnection con=新的SqlConnection(consting))
{
if(MemberShipID==null)
{
cmd=new SqlCommand(“选择ISNULL(FD.FileID,”)作为文件ID,FD.TransDate,P.PhaseName作为项目,CONCAT(RTRIM(Sect.SectorName),+'/'+I.PlotNo)作为单元号,RP.RPersonName”+
“来自MemberMaster MM”+
“内部联接成员MD.MemberShipID=MM.MemberShipID和MD.Srno=1上的详细MD”+
“FD.MembershipID=MM.MembershipID和FD.IsOwner=1和FD.IsTransfered=1和FD.IsCancelled=0上的内部联接主文件详细信息FD”+
“FM.FileID=FD.FileID和FM.Cancel=0上的内部联接主文件FM”+
“内部连接Sec.Phase_ID=FM.PhaseId和Sec.Sector_ID=FM.Sector_ID上的Sec扇区”+
“在I.Phase_ID=FM.PhaseId和I.Plot_ID=FM.Plot_ID上的左连接图临时I”+
“在P.Phase_ID=FM.PhaseId上的内部连接阶段P”+
“RP.RPersonID=FM.RPersonID上的内部联接引用Person RP”+
“其中MM.MemberShipID=”+clsCommon.\u MemberShipID+”,con);
}
其他的
{
cmd=new SqlCommand(“选择ISNULL(FD.FileID,”)作为文件ID,FD.TransDate,P.PhaseName作为项目,CONCAT(RTRIM(Sect.SectorName),+'/'+I.PlotNo)作为单元号,RP.RPersonName”+
“来自MemberMaster MM”+
“内部联接成员MD.MemberShipID=MM.MemberShipID和MD.Srno=1上的详细MD”+
“FD.MembershipID=MM.MembershipID和FD.IsOwner=1和FD.IsTransfered=1和FD.IsCancelled=0上的内部联接主文件详细信息FD”+
“FM.FileID=FD.FileID和FM.Cancel=0上的内部联接主文件FM”+
“内部连接Sec.Phase_ID=FM.PhaseId和Sec.Sector_ID=FM.Sector_ID上的Sec扇区”+
“在I.Phase_ID=FM.PhaseId和I.Plot_ID=FM.Plot_ID上的左连接图临时I”+
“在P.Phase_ID=FM.PhaseId上的内部连接阶段P”+
“RP.RPersonID=FM.RPersonID上的内部联接引用Person RP”+
其中MM.MemberShipID='“+MemberShipID+'”,con);
}
cmd.CommandType=CommandType.Text;
con.Open();
SqlDataAdapter ad=新的SqlDataAdapter(cmd);
DataTable mdt_成员=新DataTable();
广告填充(mdt_成员);
for(int i=0;i
网格


$.noConflict();
var rowsToColor=[];
jQuery(文档).ready(函数($){
var$grid=$(“#jqGrid”);
$grid.jqGrid({
url:'@url.Action(“所有权”),
数据类型:“json”,
postData:{MemberShipID:function(){return$(“#mID”).val();},
jsonReader:{id:'FileID'},
colModel:[
{name:'FileId',index:'FileId',label:'FileId',width:3},
{名称:'UnitNo',索引:'UnitNo',标签:'UnitNo',宽度:7},
{名称:'TransDate',索引:'TransDate',标签:'TransDate',宽度:8},
{name:'RpersonName',index:'RpersonName',label:'File Category',width:10},
{名称:'Project',索引:'Project',标签:'Project',宽度:20}
],
其他属性:[],
有一次:是的,
导航选项:{
reloadGridOptions:{fromServer:tr
 <script type="text/javascript">

        $.noConflict();
        var rowsToColor = [];
        jQuery(document).ready(function ($) {
            var $grid = $("#jqGrid");
            $grid.jqGrid({
                url: '@Url.Action("Ownership_D")',
                datatype: 'json',
                postData: { MemberShipID: function () { return $("#mID").val(); } },
                jsonReader: { id: 'FileID' },
                colModel: [
                           { name: 'FileId', index: 'FileId', label: 'File Id', width:3 },
                           { name: 'UnitNo', index: 'UnitNo', label: 'Unit No', width:7 },
                           { name: 'TransDate', index: 'TransDate', label: 'Trans Date', width:8},
                           { name: 'RpersonName', index: 'RpersonName', label: 'File Category', width: 10 },
                           { name: 'Project', index: 'Project', label: 'Project', width: 20 }
                ],
                additionalProperties: [],
                loadonce: true,
                navOptions: {
                    reloadGridOptions: { fromServer: true }
                },
                formEditing: {

                    closeOnEscape: true,
                    closeAfterEdit: true,
                    savekey: [true, 13],
                    reloadGridOptions: {

                        fromServer: true
                    }
                },
                viewrecords: true,
                height: 400,
                autowidth:true,
                rowNum: 100,
                rowList: [10, 20, 30, 50, 100, 500],
                pager: "#jqGridPager",
                rownumbers: true,
                footerrow: true,
                sortname: "Name",
                sortorder: "desc"
            });
        });
    </script>