JqGrid не работает в ASP.NET MVC2 - PullRequest
       23

JqGrid не работает в ASP.NET MVC2

3 голосов
/ 11 апреля 2010

У меня есть проект в ASP.NET MVC1 с использованием контроллеров VB.NET и JqGrid. он отлично работает под MVC1. После переноса проекта в ASP.NET MVC2 сетка больше не заполняется. Похоже, есть некоторые новые ограничения на возвращаемый Jsonresult в MVC2. Как решить это в VB.NET. Функция контроллера, заполняющая jqgrid, выглядит примерно так:

Function GetGridRecordset(ByVal qry As String) As JsonResult
  Dim result = New JsonResult()
  ...
  ...
  Return result
End Function

Есть ли кто-нибудь, у кого есть решение?

Ответы [ 3 ]

2 голосов
/ 11 апреля 2010

В Asp.net MVC 2 JsonResult отвечает только на http Post.

http://www.asp.net/learn/whitepapers/what-is-new-in-aspnet-mvc/#_TOC5

вот пост о том, почему Get не поддерживается для Json

http://haacked.com/archive/2009/04/02/anatomy-of-csrf-attack.aspx

1 голос
/ 12 апреля 2010

В MVC2: Dim result = New JsonResult () создает по умолчанию result.JsonRequestBehavior = JsonRequestBehavior.DenyGet, хотя в MVC1 этого не было. Ответ:

Function GetGridRecordset(ByVal qry As String) As JsonResult 
  Dim result = New JsonResult()
  ...
  ...
  result.JsonRequestBehavior = JsonRequestBehavior.AllowGet
  Return result    
End Function

Теперь jqGrid отлично работает под MVC2 без каких-либо изменений в коде на стороне клиента.

0 голосов
/ 11 апреля 2010

Мне нужно увидеть больше кода, но может ли это быть связано с изменениями в JsonResult в MVC 2? вам может потребоваться разрешить глагол GET, задав для свойства JsonRequestBehavior значение JsonRequestBehavior.AllowGet

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...