2013-03-12 6 views
0

ASP.Net MVC를 처음 사용했습니다. JQGrid를 데이터와 바인딩하는 샘플 프로그램을 시도하고있다. 컨트롤러에서 JSON 데이터를 반환하면 "파일을 저장 하시겠습니까?"라는 메시지가 나타납니다. 브라우저에서 JSON 데이터를 이해할 수 없다고 생각합니다. 나는 StackOverFlow에서 다른 게시물을 통해 갔는데 그들 중 누구도 나를 도와주는 것 같지 않습니다. 호환성 모드로 설정된 IE8에서 실행하고 있습니다. 참조하십시오 아래의 코드 :JQGrid로 JSON 데이터를 반환하면 파일을 저장하라는 메시지가 표시됩니다.

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>` 

내 컨트롤러 코드는 다음과 같다 :

HomeController.cs

[AcceptVerbs(HttpVerbs.Get)] 
    public ActionResult GetJQGridData() 
    { 
     var jqGridData = new JQGridObject() 
     { 
      Data = GetSomeSampleData(), 
      Page = "1", 
      PageSize = 3, // u can change this ! 
      SortColumn = "Name", 
      SortOrder = "asc" 
     }; 

     return Json(jqGridData, JsonRequestBehavior.AllowGet); 
    } 

    public List<Fruit> GetSomeSampleData() 
    { 
     return new List<Fruit> 
     { 
     new Fruit{Id = 1, Name = "Apple" }, 
     new Fruit{Id = 2, Name = "Melon" }, 
     new Fruit{Id = 3, Name = "Orange" }, 
     new Fruit{Id = 4, Name = "Grapes" }, 
     new Fruit{Id = 5, Name = "Pineapple" }, 
     new Fruit{Id = 6, Name = "Mango" }, 
     new Fruit{Id = 7, Name = "Bannana" }, 
     new Fruit{Id = 8, Name = "Cherry" } 
     }; 
    } 

어떤 도움이 높은 것 고맙습니다. 감사

는 나를 밖으로 점프

답변

1

우선은 컨트롤러 /보기

url: '/Home/GetJQGridData', 

당신은뿐만 아니라 jsonReader를 설정할 필요가 없습니다해야 잘못

url: '../../Home/About/GetJQGridData', 

를 참조되고 있다는 점이다 클라이언트에.

+0

그게 문제였습니다. 고마워. – siv

+0

기꺼이 도와 드리겠습니다. 올바른 것으로 표시해주세요. – Mark

+0

@sivshan : 문제가 지금 해결되면 대답을 [ "받아 들여"(http://meta.stackexchange.com/a/5235/147495)]해야합니다. – Oleg

관련 문제