Есть некое приложение, приложение выводит список документов, и должно уметь показывать прикрепленные сканы оригиналов документов. Попытался реализовать это через Master Detail Grid и Gallery
@(Html.DevExtreme().DataGrid<QualityPassport>()
.ShowBorders(true)
.DataSource(d => d.WebApi()
.RouteName("QualityPassport")
.LoadAction("Get")
.Key("Id"))
.Columns(columns => {
columns.AddFor(m => m.Id);
columns.AddFor(m => m.DocNumber);
columns.AddFor(m => m.DocDate);
columns.AddFor(m => m.UserDescr);
columns.AddFor(m => m.ScanDate);
columns.AddFor(m => m.DocHexNrec);
})
.Paging(p => p.PageSize(20))
.FilterRow(f => f.Visible(true))
.HeaderFilter(f => f.Visible(true))
.RemoteOperations(true)
.MasterDetail(md =>
{
md.Enabled(true);
md.Template(@<text><div class="master-detail-caption"> список файлов:
@(Html.DevExtreme().Gallery()
.ID("gallery")
.DataSource(d => d.WebApi()
.RouteName("QualityPassport")
.LoadAction("GetPictures")
.LoadParams(new { id = new JS("data.Id") })
)
.Height(2000)
.Loop(true)
.SlideshowDelay(4000)
.ShowNavButtons(true)
.ShowIndicator(true)
)
</div> </text>);
})
) Вроде как работает, но попросили добавить некоторые элементы. Сделал еще один контроллер и представление Пытаюсь передать ему данные
md.Enabled(true);
md.Template(@<text><div class="master-detail-caption"> список файлов:
@(Html.Action("Index", "Image", new {id = new JS("data.Id")}))
</div> </text>);})
но в этом случае id всегда null. Если же при отладке жестко задать id, то все в порядке детализация показывается. Вопрос. Как правильно передавать данные?
Сборка персонального компьютера от Artline: умный выбор для современных пользователей