There is a certain application, the application displays a list of documents, and should be able to show the attached scans of the original documents. Tried to implement it through the Master Detail Grid and 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>); })
) It seems to work, but asked to add some elements. I made another controller and presentation. I am trying to transfer data to it.
md.Enabled(true); md.Template(@<text><div class="master-detail-caption"> список файлов: @(Html.Action("Index", "Image", new {id = new JS("data.Id")})) </div> </text>);})
but in this case id is always null. If, however, when debugging is hard to set the id, then everything is fine detailing is shown. Question. How to transfer data correctly?