首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >CellTemplate和ContentTemplate在Devextreme ASP.NET核心中无法正确呈现

CellTemplate和ContentTemplate在Devextreme ASP.NET核心中无法正确呈现
EN

Stack Overflow用户
提问于 2020-09-30 01:20:41
回答 1查看 699关注 0票数 0

我有一个datagrid,对于表格上的每个项目,我需要附加一个或多个文档。当您单击最后一列按钮时,您应该打开一个弹出窗口,其中包含文件上传器。

我正在尝试在我的Datagrid中创建自定义按钮,这将打开具有FileUploader小部件的自定义弹出窗口,但该按钮根本不会呈现。

这就是结果,而不是显示的按钮。

代码语言:javascript
运行
复制
\[%!function(){%\]\ [%DevExpress.aspnet.createComponent("dxButton",{"text":"Attach","onClick":function (e) { attachButtonClick(data) }},arguments\[0\])%\]\[%}("dx-" + new DevExpress.data.Guid())%\]

我在想,即使弹出窗口显示,也会发生同样的事情。只有这个文本似乎代表了文件上传器。这是我为这部分编写的.chtml代码。

代码语言:javascript
运行
复制
@(Html.DevExtreme().DataGrid<myModel>()
        .ID("dataGrid")
        .DataSource(ds => ds.Mvc().Controller("DataGridMaterials")
                                    .LoadAction("Get")
                                    .InsertAction("Insert")
                                    .UpdateAction("Update")
                                    .DeleteAction("Delete")
                                    .Key("ID")
        )
        .Columns(columns => {
            columns.AddFor(m => m.Equipment);
            columns.AddFor(m => m.Client);
            columns.AddFor(m => m.Number);
            columns.AddFor(m => m.Address);
            columns.AddFor(m => m.Phone);
            columns.Add().Width(160).Alignment(HorizontalAlignment.Center).CellTemplate(@<text>
                @Html.DevExtreme().Button().Text("Attach").OnClick("function (e) { attachButtonClick(data) }")
            </text>);
        })

        .OnRowDblClick(@<text>
           function MyHandler(selectedItem) {
                var dataGrid = $("#dataGrid").dxDataGrid("instance");
                var selectedRowsData = dataGrid.getSelectedRowsData();
                var allData = selectedRowsData[0];
                var id = allData.ID;
                console.log(id);

                $('#customPopup').dxPopup('instance').option('visible', true);
           }
        </text>)

        .RowAlternationEnabled(true)
        .Editing(editing => {
            editing.Mode(GridEditMode.Row);
            editing.AllowUpdating(true);
            editing.AllowDeleting(true);
            editing.AllowAdding(true);
        })
        .Selection(s => s.Mode(SelectionMode.Single))
        .RemoteOperations(true)
    )

  @(Html.DevExtreme().Popup().ID("customPopup").Width(660).Height(540).Title("Attachments").Visible(false)
            .ContentTemplate(@<text>

                    @(Html.DevExtreme().FileUploader()
                        .ID("file-uploader")
                        .Name("myFile")
                        .Multiple(true)
                        .Accept("*")
                        .UploadMode(FileUploadMode.UseButtons)
                        .UploadUrl(Url.Action("Upload", "FileUploader"))
                        .OnValueChanged("fileUploader_valueChanged")

                    )
                </text>)
    )

我的解决方案基于这个示例应用程序。View

Custom popup

EN

Stack Overflow用户

发布于 2020-09-30 15:35:27

奇怪的是,我遵循了你提供的示例代码,它可以在我这一边工作。我使用的是Asp.net core 3.1Devextreme 20.1

代码语言:javascript
运行
复制
@model Order

@{
    ViewBag.Title = "Index";
}

<h2>Home</h2>

@(Html.DevExtreme().DataGrid<Order>()
        .ID("gridContainer")
        .ShowBorders(true)
        .DataSource(d => d.Mvc().Controller("Orders").LoadAction("Get").Key("OrderID").UpdateAction("Put"))
        .Columns(columns => {
            columns.AddFor(m => m.CustomerName);
            columns.AddFor(m => m.OrderDate);
            columns.AddFor(m => m.ShipCity);
            columns.Add().Width(160).Alignment(HorizontalAlignment.Center).CellTemplate(@<text>
                @Html.DevExtreme().Button().Text("Attach").OnClick("function (e) { attachButtonClick() }")
            </text>);
        })

        .Selection(s => s.Mode(SelectionMode.Single))
        .RemoteOperations(true)
)

@(Html.DevExtreme().Popup().ID("customPopup").Width(660).Height(540).Title("Attachments").Visible(false)
            .ContentTemplate(@<text>

            @(Html.DevExtreme().FileUploader()
                .ID("file-uploader")
                .Name("myFile")
                .Multiple(true)
                .Accept("*")
                .UploadMode(FileUploadMode.UseButtons)
                .UploadUrl(Url.Action("Upload", "FileUploader"))
            )
        </text>)
)

<script>
    function attachButtonClick() {
        $('#customPopup').dxPopup('instance').option('visible', true);
    
    }
</script>

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64124580

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档