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 № 1OK, 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.