【问题标题】:Why isn't the Client template working MVC Kendo为什么客户端模板不起作用 MVC Kendo
【发布时间】:2019-02-22 17:58:58
【问题描述】:

代码是网格仍然显示的标记,与应用客户端模板之前一样。它在控制台中也有很多错误。我以为我遵循了文档。我还需要将前三列的操作链接添加到该计数的详细信息页面。提前感谢您,任何希望将不胜感激

  @(Html.Kendo().Grid<cigaretteLogMVC.Models.CigaretteCountData>() // Specify the type of the grid
            .Name("Grid")
            .BindTo((IEnumerable<cigaretteLogMVC.Models.CigaretteCountData>)ViewBag.counts)
            .Columns(columns =>
            {
                columns.Bound(c => c.createdDate);
                columns.Bound(c => c.countDate);
                columns.Bound(c => c.bookQty);
                columns.Bound(c => c.actualCount).ClientTemplate("# if (edited == true ){#" +
                    "<span class='edited'>#:actualCount#</span>" +
                "# } #");
                columns.Bound(c => c.bookVsActualCount).ClientTemplate("# if (bookVsActualCount > @ViewBag.max || bookVsActualCount < @ViewBag.min ){#" +
                    "<span class='OutOfBounds'>#:bookVsActualCount#</span>" +
                "# } #");
                columns.Bound(c => c.dailyDif);
                columns.Bound(c => c.Notes).ClientTemplate(
                     "# if (Notes != null) { #" +
                    "<span class=\"k-icon k-i-tick\"></span>" +
                    "# } #"
                    );
            })
)

这些是错误

未捕获的错误:无效的模板:'#= data && data.dirty && data.dirtyFields && data.dirtyFields['createdDate'] ? '' : ''

:data.createdDate==null?'':data.createdDate#

k-dirty-cell' : '' #" role='gridcell'>#= data && data.dirty && data.dirtyFields && data.dirtyFields['countDate'] ? '' : ''

:data.countDate==null?'':data.countDate#

k-dirty-cell' : '' #" role='gridcell'>#= data && data.dirty && data.dirtyFields && data.dirtyFields['bookQty'] ? '' : ''

:data.bookQty==null?'':data.bookQty#

k-dirty-cell' : '' #" role='gridcell'>#= data && data.dirty && data.dirtyFields && data.dirtyFields['actualCount'] ? '' : '' ## if (edited == true ){##:actualCount## } ##= data && data.dirty && data.dirtyFields && data.dirtyFields['bookVsActualCount'] ? '' : '' ## if (bookVsActualCount > @ViewBag.max || bookVsActualCount :data.dailyDif==null?'':data.dailyDif#

k-dirty-cell' : '' #" role='gridcell'>#= data && data.dirty && data.dirtyFields && data.dirtyFields['Notes'] ? '' : '' ## if (Notes != null) { ## } #' 生成代码:'var $kendo 输出,$kendoHtmlEncode = kendo.htmlEncode;with(data){$kendoOutput=''+( data && data.dirty && data.dirtyFields && data.dirtyFields['createdDate'] ? '':'' )+''+$kendoHtmlEncode(data.createdDate==null?'':data.createdDate)+''+( data && data.dirty && data.dirtyFields && data.dirtyFields['countDate'] ? '':'' )+''+$kendoHtmlEncode(data.countDate==null?'':data.countDate)+''+( data && data.dirty && data.dirtyFields && data.dirtyFields['bookQty'] ? '':'' )+''+$kendoHtmlEncode(data.bookQty==null?'':data.bookQty)+''+( data && data.dirty && data.dirtyFields && data.dirtyFields['actualCount'] ? '':'' )+''; if (edited == true ){;$kendoOutput+=''+$kendoHtmlEncode(actualCount)+''; } ;$kendoOutput+=''+( 数据 && data.dirty && data.dirtyFields && data.dirtyFields['bookVsActualCount'] ? '' : '' )+''; if (bookVsActualCount > @ViewBag.max || bookVsActualCount http://localhost:58432/Scripts/kendo/kendo.all.min.js:26:4889) 在 HTML 文档。 (StoreGrid?storenum=0001432:40)

【问题讨论】:

  • 可能应该发布错误。您的 ActionLink 问题可能应该是一个单独的帖子。
  • 这些错误没有帮助,而且页面很长。你在 ActionLink 上的正确我只是希望有人马上就知道
  • @Brian 有点冒昧地认为这些错误没有帮助。
  • 已添加错误
  • 标记与错误不对应。剑道模板语法很挑剔 - 最好一步一步构建它。

标签: c# asp.net-mvc kendo-asp.net-mvc


【解决方案1】:

这是我发现的有效方法

    @(Html.Kendo().Grid(Model) // Specify the type of the grid
        .Name("Grid")
        .CellAction(cell =>
        {
             if (cell.Column.Title.Equals("Created Date") || 
                    cell.Column.Title.Equals("Count Date"))
            {
                cell.HtmlAttributes["onclick"] = "goToCount('" + 
                cell.DataItem.ID + "','" + cell.DataItem.countDate + "')";
            }
            if (cell.Column.Title.Equals("Actual Count"))
            {
                if (cell.DataItem.edited)
                {
                    cell.HtmlAttributes["class"] = "edited";
                }
            }

            if (cell.Column.Title.Equals("Book vs Actual Qty"))
            {
                if(cell.DataItem.bookVsActualCount > Convert.ToInt32(Session["MaxAlert"]) || cell.DataItem.bookVsActualCount < Convert.ToInt32(Session["MinAlert"]))
                {
                    cell.HtmlAttributes["class"] = "OutOfBounds";
                }
            }
            if (cell.Column.Title.Equals("Notes"))
            {
                if (cell.DataItem.Notes != null && cell.DataItem.Notes != "")
                {
                    cell.HtmlAttributes["onclick"] = "showNotes('" + 
                                            cell.DataItem.Notes + "')";
                    cell.Text = " ";
                    cell.HtmlAttributes["class"] = "far fa-comment-alt";
                }
            }

        })
        .Columns(columns =>
        {
            columns.Bound(c => c.createdDate).Title("Created Date");
            columns.Bound(c => c.countDate).Title("Count Date");
            columns.Bound(c => c.bookQty).Title("Book Qty");
            columns.Bound(c => c.actualCount).Title("Actual Count");
            columns.Bound(c => c.bookVsActualCount).Title("Book vs Actual Qty");
            columns.Bound(c => c.dailyDif).Title("Daily Difference Qty");
            columns.Bound(c => c.Notes).Title("Notes");

        })
     )
     <script>
      function goToCount(id, date) {        
       alert(id);
       //redirect here
     }

      function showNotes(notes) {
      alert(notes);
      //maybe launch a modal here 
     }
 </script>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-08
    • 1970-01-01
    相关资源
    最近更新 更多