0

У меня есть два раздела в представлении Index моего приложения MVC, и я хочу отобразить два PartialView в этих разделах. Нет никакой проблемы, чтобы сделать kendogrid одним Индексом. Однако, чтобы сделать данные по KendoGrid, могу ли я использовать два метода, возвращающих Json в контроллер, как показано ниже. Не могли бы вы привести пример, как это сделать?Использование сетки Kendo в PartialView

Контроллер:

public ActionResult Index() 
{ 
    return View(); 
} 

public ActionResult Issues_Read([DataSourceRequest]DataSourceRequest request) 
{ 
    IQueryable<Issue> issues = db.Issues; 
    DataSourceResult result = issues.ToDataSourceResult(request, c => new IssueViewModel 
    { 
     ID = c.ID, 
     ProjectID = c.ProjectID 
    }); 

    return Json(result); 
} 


Вид:

@(Html.Kendo().Grid<IssueViewModel>() 
    .Name("grid") 
    .Columns(columns => 
    { 
     columns.Bound(c => c.ProjectID); 
     columns.Command(command => { command.Edit(); command.Destroy(); }).Width(180); 
    }) 
    .ColumnMenu() 
    .Editable(editable => editable.Mode(GridEditMode.PopUp)) 
    .Pageable() 
    .Navigatable()  
    .DataSource(dataSource => dataSource 
     .Ajax() 
     .Model(model => model.Id(p => p.ID)) 
     .Read(read => read.Action("Issues_Read", "Issue")) 
     .Create(create => create.Action("Issues_Create", "Issue")) 
     .Update(update => update.Action("Issues_Update", "Issue")) 
     .Destroy(destroy => destroy.Action("Issues_Destroy", "Issue")) 
) 
) 


Спасибо заранее.

+0

Вы вопрос не ясно, что это очень трудно понять, что вы пытаетесь сделать. –

+0

Извините, я использовал

в своем комментарии и что некоторые тексты пропущены. Я обновил вопрос. Не могли бы вы посмотреть, пожалуйста? –

+0

Вы должны четко указать, что вы намерены, поскольку это не ясно. Вы хотите визуализировать два частичных вида с двумя сетками? Может быть, это проблема с дубликат id – chiapa

ответ

2

Чтобы использовать один и тот же частичный вид несколько раз, идентификатор сетки должен быть уникальным, поэтому передача идентификатора в частичном представлении данных является одним из возможных решений. В вашем случае Частичный вид первого вызова:

@Html.Partial("grid", new ViewDataDictionary { { "id", "grid1" }}) 

Частичный вид на второй вызов:

@Html.Partial("grid", new ViewDataDictionary { { "id", "grid2" }}) 

Частичное содержание вид:

@(Html.Kendo().Grid<IssueViewModel>() 
    .Name(@ViewData["id"].ToString()) 
... 
+0

Вы имеете в виду с ** "... использовать один и тот же частичный просмотр несколько раз" ** _ "несколько раз на одном и том же представлении одновременно" _? Или _ «на разных взглядах одновременно» _? Не могли бы вы объяснить немного больше, пожалуйста? –

+0

на том же самом взгляде, конечно, потому что если на разных взглядах проблема ID не будет существовать –

+0

Большое спасибо за ваш ответ. В этом случае, когда я использую одно и то же частичное представление, мне нужно изменить идентификатор сетки, т. Е. Grid1, grid2, grid3 (для использования в этом примере три раза). Это правда? –