8

誰でも剣道UIグリッド(mvc)に階層を実装する簡単な手順を書いてください。彼らのデモを試してみましたが、うまくいきません。助けてくれてありがとう!

私は何かが欠けていると思いますが、ここに私がやっていることがあります(http://demos.kendoui.c​​om /web/grid/hierarchy.html のように)

.ClientDetailTemplateId("Grid2Template") を既存のグリッドに追加しています。次に、上記の Grid2Template のコードを書いています。

デモに示されていることを 100% 実行していますが、これらの 2 つの手順では動作しません。余分なものはありますか?

これは非常に単純なデモ プロジェクトです... http://www.mediafire.com/?5qjyp40qfef7dkb

4

4 に答える 4

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 はクライアント テンプレートを破壊し、グリッドは詳細テンプレートを表示できません。

この変更後、プロジェクトは正常に動作するはずです。

于 2012-11-29T21:17:13.590 に答える
6

パーティーに遅れてすみません。AntiXss エンコーダーを削除する必要はありません。Kendo が吐き出す文字列をデコードし、そのままビューに表示するだけです。

したがって、代わりに:

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

これを行う:

@Html.Raw(HttpUtility.HtmlDecode(Html.Kendo().TabStrip().Items(…).ToClientTemplate().ToString()))
于 2013-03-11T03:26:40.640 に答える
0

One clever co-worker of mine found something similar, he found that spaces where replaced by " " in the client template generated string so he is doing this and it works:

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

We didn't want to disable AntiXSS since it will be like putting down your defenses.

于 2013-05-31T19:57:48.900 に答える