【问题标题】:Kendo Grid MVC Compilation Error when loading cshtml file加载 cshtml 文件时出现 Kendo Grid MVC 编译错误
【发布时间】:2018-10-19 14:02:58
【问题描述】:

尝试加载 .cshtml 文件时出现以下错误:

编译器错误消息:CS1026:) 预期

源错误(第 81 行):

第 79 行:.AutoBind(true)

第 80 行:

第 81 行:.DataSource(dat​asource => 数据源

第 82 行:.Ajax()

第 83 行:.Model(model =>

我已尝试刷新缓存并从网格中删除元素,但仍然无法正常工作。

cshtml页面代码:

@{
    var guid = Guid.NewGuid();
    var layoutId = guid + "page-layout";
    var partialModel = new Kendo_UI_Bootstrap_Integration.ViewModels.ReportLayoutViewModel();
    partialModel.Title = "Report";
    partialModel.ReportHeaderData = string.Format("<span id='{0}-start-date'>Start Date:</span><br/><span id='{0}-end-date'>End Date</span>", guid);
    partialModel.Id = layoutId;
}
@Html.Partial(MVC.Reports.Views.ViewNames._ReportLayout, partialModel)

<input id="GuidInput" type="hidden" value="@guid" />
<table>
    <tbody>
        <tr>
            <td>
                <span>Start Date: </span>
                @(Html.Kendo().DatePicker().Name(guid + "StartDate").Footer(false))
            </td>
            <td style="padding-left: 10px;">
                <span>End Date: </span>
                @(Html.Kendo().DatePicker().Name(guid + "EndDate").Footer(false))
            </td>
            @if (User.IsInRole("RearingUnitRearingManager") || User.IsInRole("BackOfficeSuperUser"))
            {
                <td style="padding-left: 10px;">
                    @(Html.Kendo().DropDownListFor(m => m)
                        .Name("dropdown")
                        .DataTextField("name")
                        .DataValueField("nameguid")
                        .DataSource(dataSource =>
                        {
                            dataSource.Read(read => read.Action(MVC.ControllerName.ActionNames.Action, MVC.Controller.Name))
                            .ServerFiltering(true);
                        })

                        .HtmlAttributes(new { style = "width: 306px;" })
                    )
                </td>
            }
            <td style="padding-left: 10px;">
                @(Html.Kendo().Button().Name("Submit").Content("Submit").Events(events => events.Click("submitbutton")))
            </td>
        </tr>
    </tbody>
</table>
<br />


    @(Html.Kendo().Grid<Kendo_UI_Bootstrap_Integration.Models.DTO.dto>()
        .Name("gridname")
        .ToolBar(tools => { tools.Pdf(); tools.Excel(); })
           .Pdf(pdf => pdf
                .AllPages()
                .AvoidLinks()
                .Landscape()
                .TemplateId(layoutId)
                .PaperSize("A4")
                .Scale(0.6)
                .RepeatHeaders()
                .Margin("7cm", "1cm", "3cm", "1cm")
                .FileName("pdf.pdf")
            )
        .Excel(excel => excel
                .AllPages(true)
                .FileName("excel.xlsx"))
        .EnableCustomBinding(true)
        .Columns(
        columns =>
        {
            columns.Bound(c => c.item1).Hidden();
            columns.Bound(c => c.item2);
            columns.Bound(c => c.item3);
            columns.Bound(c => c.item4);
            columns.Bound(c => c.item5);
            columns.Bound(c => c.item6);
        }
        )
        .Editable(editable => editable.Mode(GridEditMode.InCell).DisplayDeleteConfirmation(false))
        .AutoBind(true)

        .DataSource(dat​asource => datasource
        .Ajax()
        .Model(model =>
        {
            model.Field(m => m.item1).Editable(false);
            model.Field(m => m.item2).Editable(false);
            model.Field(m => m.item3).Editable(false);
            model.Field(m => m.item4).Editable(false);
            model.Field(m => m.item5).Editable(false);
            model.Field(m => m.item6).Editable(false);
        })
        .Group(group => group.Add(w => w.item1))
        .Read(read => read.Action(MVC.Controller.ActionNames.Actionname_Read, MVC.Controller.Name).Data("function"))
        .PageSize(100)
        .Batch(true)
        )
        .Events(ev => ev.PdfExport("ProcessPdf").ExcelExport("SetExcelFileName"))
        .HtmlAttributes(new { style = "z-index: 1000; position: relative;", @class = "report-grid", report_guid = guid })
    )

【问题讨论】:

  • 您似乎在 .Model 位之后缺少一个右括号来关闭数据源。
  • 在 .Batch(true) 之后我有数据源的右括号
  • 啊是的,抱歉没看到。 report_guid = guid 中的变量 guid 来自哪里?我假设这是您实际代码的编辑版本?我已经对您的代码进行了一些修改测试,以使其能够以最小的努力成功地与我的一个模型一起使用。
  • 是的,代码已被编辑,guid 只是在视图顶部生成的 Guid.NewGuid()。
  • 上面我已经添加了整个cshtml文件代码

标签: asp.net-mvc model-view-controller kendo-ui kendo-grid datasource


【解决方案1】:

当我尝试双击“数据源”这个词时,它只突出显示了该词的一半,所以我重新输入了它并在模型定义中添加了一个 model.Id 并且它起作用了。

我不知道这里发生了什么。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-19
    相关资源
    最近更新 更多