2012-02-13 38 views
1

我試圖按照jqgrid和MVC3最近更新的教程。我有這樣的腳本:jqGrid MVC3 url action not firing

 myGrid.jqGrid({ 
      url: '<%= Url.Action("GridData") %>', 
      datatype: 'json', 
      mtype: 'POST', 
      colNames: ['A', 'B', 'C'], 
      colModel: [ 
       { name: 'A', index: 'A', key: true, width: 40 
       }, 
       { name: 'B', index: 'B', width: 40 
       }, 
       { name: 'C', index: 'C', width: 400 
       } 
      ], 
      pager: '#pager', 
      rowNum: 10, 
      rowList: [5, 10, 20, 50], 
      sortname: 'A', 
      sortorder: 'desc', 
      rownumbers: true, 
      viewrecords: true, 
      altRows: true, 
      //altclass: 'myAltRowClass', 
      height: '100%', 
      gridview: true, 
      jsonReader: { cell: "" }, 
      caption: 'Grid Title' 
     }); 

我在這裏面Controllers文件夾呼叫者HomeController的一個控制器:

public JsonResult GridData(string sidx, string sord, int page, int rows) 
    { 
     return Json(new 
     { 
      total = 1, // we'll implement later 
      page = page, 
      records = 3, // implement later 
      rows = (
        new[] { 
         new[]{"A", "B", "C"}, 
         new[]{"1", "2", "3"}, 
         new[]{"X", "Y", "Z"} 
      }).ToList() 
     }); 
    } 

出於某種原因,我不能得到的GridData被調用。我在控制器中爲該功能設置了一個斷點,並且沒有被擊中。

我可能會錯過什麼?我是否需要以某種方式設置項目中的路由?

回答

1

試着改變你的Url.Action()調用此:

<%= Url.Action("GridData", "Home") %> 

而只是一個供參考,這是不是剃刀語法。如果你確實使用剃刀,它應該是這樣的:

@Url.Action("GridData", "Home") 

而最後一點問:哪裏是你的JavaScript/jQuery代碼的生活?它嵌入在你的視圖標記中嗎?

+0

啊,是的。儘管我對Razor(和mvc)是新手,但我會花一點時間來克服那個愚蠢的問題。 – 2012-02-13 14:36:52

+0

@DougS。根本沒有愚蠢。那麼,那麼解決你的問題呢? – 2012-02-13 14:45:28