Я разрабатываю приложение Asp.net MVC3 с Entity Framework. Я использую Knockoutjs для привязок и KendoUI для части пользовательского интерфейса. Я смог реализовать большинство виджетов KendoUi, но теперь мне нужно использовать элемент управления сетью KendoUI, который берет свои данные с SQL-сервера. Насколько я понял, виджет сетки работает с XML или JSON.Связывание данных KendoUI с Sql с инфраструктурой Entity
Так у меня есть контекст ДБ:
public DbSet<FranchiseInfoDto> Franchises { get; set; }
Я сохраненный некоторые данные в таблицах в локальном сервере Sql и извлечь его из контроллера и сериализовать его Json, так что я могу связать его каким-то образом к сетка widjet в представлении:
private OmegaDB db = new OmegaDB();
//
// GET: /Franchise/
public JsonNetResult Index()
{
JsonNetResult jsonNetResult = new JsonNetResult { Formatting = Formatting.Indented };
var franchises = db.Franchises.ToList();
jsonNetResult.Data = franchises;
return jsonNetResult;
}
данные сериализованная JSON в этом формате:
[{ ParentId: 0, Title: "Deposit", Type: "link", Link: "http://www.abv.bg" }, { ParentId: 2, Title: "Cash", Type: "link", Link: "http://www.facebook.com"}];
Я прочитал документацию о KendoUI сетке и смог связать его с некоторыми локальными данными, как это:
var menus = [{ ParentId: 0, Title: "Deposit", Type: "link", Link: "http://www.abv.bg" }, { ParentId: 2, Title: "Cash", Type: "link", Link: "http://www.facebook.com"}];
var dataSource = new kendo.data.DataSource({
data: menus,
schema: {
model: {
fields: {
ParentId: { editable: true },
Title: { editable: true },
Type: { editable: true },
Link: { editable: true }
}
}
}
});
$("#grid").kendoGrid({
toolbar: ["create", "save", "cancel"],
columns: [
{
field: "ParentId",
title: "Id",
width: 50
},
{
field: "Title",
title: "Label",
width: 100
},
{
field: "Type",
title: "Type",
width: 100
},
{
field: "Link",
title: "Link"
}
],
dataSource: dataSource,
editable: true,
groupable: true,
scrollable: true,
sortable: true,
pageable: true
});
Но когда я попытался привязать его к контроллеру Index возвращающегося JSon мне не удалось. Я пробовал что-то вроде этого:
dataSource: {
type: "odata",
transport: {
read: "Franchise/Index" // this is my controller action //where I serialize the data coming from the local sql server to json
}
Я довольно новичок в программировании, и я не уверен, правильно ли этот подход. Любые предложения с примерами, основанные на моем примере кода, будут очень благодарны. Спасибо!
Вы указываете в своем коде Javascript, что serverPaging включен, но я не вижу код ваш код ASP.net, чтобы справиться с этим. –