/ / Kendo Grid envoltórios de servidores não enviando solicitação de classificação como JSON - kendo-ui, kendo-grade, kendo-asp.net-mvc

Invólucros de servidores do Kendo Grid não enviando pedidos de ordenação como JSON - kendo-ui, kendo-grid, kendo-asp.net-mvc

Eu baixei um Telerik grid-crud sample forma suas amostras públicas no GitHub

Eu converti-lo de inicialização do lado do cliente javascript para wrappers do lado do servidor (baixado o julgamento)

aqui está o código (digitado manualmente aqui, a máquina dev não está conectada ao inet)

@(Html.Kendo.Grid<SampleViewModel>()
.Name("SamplGrid")
.Columns( c=>
{
c.Bound(s => s.id);
c.Bound(s => s.Name);
})
.Pageable()
.Sortable()
.DataSource( ds => ds
.Ajax()
.PageSize(10)
.Read( r => r.Action("Read", "Samples").Type(HttpVerbs.Post))
)
)

O problema é o tipo não funciona.

a expressão de classificação enviada para o servidor na minha versão se parece com: take=10&skip=0&page=1&pagesize=10&sort%5B0%5D%5Bfield%5d=id%5Bdir%5d=asc

onde na amostra original parece:

{"take":10,"skip":0,"page":1,"pagesize":10,"sort":[{"field":"id","dir":"asc","compare":null}]}

em outras palavras, o exemplo envia JSON, mas meu código gera outra coisa.

como obter a grade para enviar o mesmo JSON usando wrappers de servidor?

Respostas:

0 para resposta № 1

OK, eu encontrei o problema e a solução.

Como @Iman disse que os dados enviados para o servidor são codificados em vez de apenas JSON, e o servidor esperava JSON.

A classificação não estava funcionando, pois a expressão de classificação era inválida no que se refere ao servidor.

Para fazer a grade enviar JSON, ela precisa serconfigurado para fazer isso. O problema é que os wrappers do servidor não suportam esse recurso específico. A única maneira de fazer isso é configurar isso no lado do cliente usando javascript.

eu encontrei esta postar em fóruns de suporte da Telerik para ser muito útil.