加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 绑定客户端模板中的两个字段,用于kendo网格列

发布时间:2020-12-16 07:06:05 所属栏目:asp.Net 来源:网络整理
导读:我得到一个InvalidOperationException,并带有一条消息: bound columns require a field or property access expression 我的剃刀标记是这样的: (@Html.Kendo().GridStackInfo() .Columns(col = { col.Bound(e = e.FileID).Title("ID"); col.Bound(e = e.Na
我得到一个InvalidOperationException,并带有一条消息:

bound columns require a field or property access expression

我的剃刀标记是这样的:

(@Html.Kendo().Grid<StackInfo>()
            .Columns(col =>
            {
                col.Bound(e => e.FileID).Title("ID");
                col.Bound(e => e.Name).Title("Filename");
                col.Bound(e => e.Status);

                col.Bound(e => new { Status = e.Status,FileID = e.FileID }).ClientTemplate("#if(Status == 'new') {#"
                    + "<a href="View?TaskID=#FileID#">View</a>"
                    + "#} else {#"
                    + "<a href="Open?TaskID=#FileID#">Open</a>"
                    + "#} #").Title(string.Empty);
            })
            .AutoBind(false)
            .DataSource(ds => ds
                .Ajax()
                .Read(r => r.Action("Tasks_Read","Task"))
                .PageSize(10)
                )
            .Pageable()
            .Name("tasksGrid")
            .Scrollable(k => k.Height(205)))

我想要完成的是网格将显示一个额外的列;它提供了一个链接,其动作实际上基于“状态”字段中的值.因此我写了这样的ClientTemplate.

但是我在那条线上得到了一个例外.这样做的正确方法是什么?

解决方法

我认为问题出在第四列的.Bound(e => new {Status = e.Status,FileID = e.FileID})中.试试这段代码:

columns.Template(@<text></text>)
    .ClientTemplate("#if(Status == 'new') {#"
                + "<a href="View?TaskID=#FileID#">View</a>"
                + "#} else {#"
                + "<a href="Open?TaskID=#FileID#">Open</a>"
                + "#} #").Title(string.Empty);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读