Asp.net mvc 4 将JSON数据返回到JQGrid会提示保存文件

Asp.net mvc 4 将JSON数据返回到JQGrid会提示保存文件,asp.net-mvc-4,jqgrid,Asp.net Mvc 4,Jqgrid,我是ASP.NETMVC新手。我正在尝试一个示例程序,用数据绑定JQGrid。当我从控制器返回JSON数据时,系统会弹出“是否保存文件…”提示我。我认为我的浏览器无法理解JSON数据。我浏览了StackOverFlow的另一个帖子,他们似乎都没有帮我。我在IE8上运行这个设置为兼容模式。请参阅下面的代码: Index.cshtml @{ ViewBag.Title = "Home Page"; } <link href="~/Content/Site.css" rel="style

我是ASP.NETMVC新手。我正在尝试一个示例程序,用数据绑定JQGrid。当我从控制器返回JSON数据时,系统会弹出“是否保存文件…”提示我。我认为我的浏览器无法理解JSON数据。我浏览了StackOverFlow的另一个帖子,他们似乎都没有帮我。我在IE8上运行这个设置为兼容模式。请参阅下面的代码:

Index.cshtml

@{
ViewBag.Title = "Home Page";
  }
  <link href="~/Content/Site.css" rel="stylesheet" type="text/css" />  
   <link href="~/Content/jquery.jqGrid/ui.jqgrid.css" rel="stylesheet"    type="text/css" />  
   <link href="~/Content/themes/base/jquery.ui.all.css" rel="stylesheet" type="text/css" />

  <script src="~/Scripts/jquery-1.9.1.min.js" type="text/javascript"></script>  
  <script src="~/Scripts/i18n/grid.locale-en.js" type="text/javascript"></script>  
  <script src="~/Scripts/jquery.jqGrid.min.js" type="text/javascript"></script>

  <script type="text/javascript">
  $(document).ready(function () {
    $("#myGrid").jqGrid({
        url: '../../Home/About/GetJQGridData',
        datatype: 'json',
        contentType: 'application/json',
        myType: 'GET',
        colNames: ['Id', 'Name'],
        colModel: [
        { name: 'Id', index: 'Id' },
        { name: 'Name', index: 'Name' }
        ],
        jsonReader: {
            root: 'Data',
            id: 'id',
            repeatitems: false
        },
        pager: $('#myPager'),
        rowNum: 5,
        rowList: [2, 5, 10],
        width: 600,
        viewrecords: true,
        caption: 'Jqgrid MVC Tutorial'
        });
     });
   </script>



    <table id="myGrid"></table>  
     <div id="myPager"></div>`
@{
ViewBag.Title=“主页”;
}
$(文档).ready(函数(){
$(“#myGrid”).jqGrid({
url:“../Home/About/GetJQGridData”,
数据类型:“json”,
contentType:'应用程序/json',
myType:'获取',
colNames:['Id','Name'],
colModel:[
{name:'Id',index:'Id'},
{name:'name',index:'name'}
],
jsonReader:{
root:'数据',
id:'id',
重复项:false
},
寻呼机:$(“#我的寻呼机”),
行数:5,
行列表:[2,5,10],
宽度:600,
viewrecords:是的,
标题:“Jqgrid MVC教程”
});
});
`
我的控制器代码如下:

HomeController.cs

[AcceptVerbs(HttpVerbs.Get)]
公共操作结果GetJQGridData()
{
var jqGridData=新的JQGridObject()
{
Data=GetSomeSampleData(),
Page=“1”,
PageSize=3,//您可以更改它!
SortColumn=“Name”,
SortOrder=“asc”
};
返回Json(jqGridData、JsonRequestBehavior.AllowGet);
}
公共列表GetSomeSampleData()
{
返回新列表
{  
新水果{Id=1,Name=“Apple”},
新水果{Id=2,Name=“瓜”},
新水果{Id=3,Name=“Orange”},
新水果{Id=4,Name=“Grapes”},
新水果{Id=5,Name=“菠萝”},
新水果{Id=6,Name=“Mango”},
新水果{Id=7,Name=“Bannana”},
新水果{Id=8,Name=“Cherry”}
};
} 
任何帮助都将不胜感激。
谢谢

我首先想到的是,您的控制器/视图被错误地引用了

url: '../../Home/About/GetJQGridData',
应该是

url: '/Home/GetJQGridData',

您不需要在客户端上也设置jsonReader。

这就是问题所在。谢谢马克。@sivshan:如果问题现在解决了,你应该告诉我答案。
url: '/Home/GetJQGridData',