Kendo网格层次结构的问题

时间:2012-11-28 23:31:37

标签: asp.net-mvc kendo-ui

任何人都可以写一些简单的步骤来实现kendo ui grid(mvc)中的层次结构。我一直在尝试他们的演示,但无法让它工作。谢谢你的帮助!

我想我错过了一些东西,但这就是我正在做的事情(如http://demos.kendoui.com/web/grid/hierarchy.html

我将.ClientDetailTemplateId(“Grid2Template”)添加到现有网格中。 然后我正在为Grid2Template编写代码。

我正在完成演示中显示的100%,但无法使用这两个步骤。有没有额外的参与?

这是一个非常简单的演示项目...... http://www.mediafire.com/?5qjyp40qfef7dkb

4 个答案:

答案 0 :(得分:9)

你的问题有点难以找到。转到webconfig并删除以下行:

<httpRuntime requestValidationMode="4.5" targetFramework="4.5" encoderType="System.Web.Security.AntiXss.AntiXssEncoder, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />

此编码器AntiXSS会破坏客户端模板,并且网格无法显示详细信息模板。

在此更改后项目应该正常运行。

答案 1 :(得分:6)

很抱歉迟到了。无需删除AntiXss编码器。只需解码字符串Kendo吐出并在视图中原始显示。

所以而不是:

@(Html.Kendo().TabStrip().Items(…).ToClientTemplate())

这样做:

@Html.Raw(HttpUtility.HtmlDecode(Html.Kendo().TabStrip().Items(…).ToClientTemplate().ToString()))

答案 2 :(得分:3)

更新:FYI Telerik自2014年第一季度开始将我的解决方案纳入Kendo UI MVC,因此,如果您使用的是新版本,则不再需要这些“解决方案”。


取出AntiXssEncoder绝对是坏消息,你不应该这样做。我尝试过使用Jportelas和Marcelo的答案,但他们仍然没有完全解决问题。在处理必要的字段时,Kendo&amp; MVC将所需的字段验证器注入到javascript中,其中的空格以完全不同的方式编码(它使用表示&符号的转义UTF-8字符串,后跟英镑符号的html字符代码。它们一起代表一个空格搞砸了,对吧?!?)

I've created a Gist显示如何解决任何控件的问题,而不仅仅是Kendo UI。我还要求Telerik在下一个版本中包含该解决方案......请随意这样做。

HTH

答案 3 :(得分:0)

我的一个聪明的同事发现了类似的东西,他发现在客户端模板中用“”替换的空格生成了字符串,所以他这样做并且它有效:

@Html.Raw((Html.Kendo().Grid<..>...ToClientTemplate()..ToHtmlString().Replace("&#32;", " ")))

我们不想禁用AntiXSS,因为它就像放下你的防御。