剣道グリッドの列に ASP.NET MVC ClientTemplate を定義する際に問題が発生しました。これは、「+」記号が取り除かれているためです。これにより、クライアント側で生成されたテンプレートが不適切な構文のために失敗します。
私の ClientTemplate は次のとおりです。
c.Template(@<text></text>).ClientTemplate("#='Hello' + Name#")
ただし、クライアントでは、これは次のように削減されます。
template: "#='Hello' Name#"
つまり、プラス記号はスペースとしてレンダリングされています (URL エンコーディングに似ていると思います)。JS から直接使用すると、テンプレートは完全に機能します (このJSBinを参照)。
+ 記号をエスケープして ClientTemplate で使用できるようにする方法を知っている人はいますか?
\\+
' ' (' ' としてレンダリングされる\
)、' \+
' (無効な C#)、+
( と同じですが、' '+
などの他のものは正常に動作します)を使用してエスケープを試みました,
。
何か案は?ありがとう。
参考までに、私は Razor マークアップと 2012 年第 2 四半期の Kendo リリースを使用しています (Telerik からアップグレードしているため、jQuery バージョンによって制限されているため、Q3 はまだ使用できません)。
注:なぜ私がこれを行っているのかを誰かが尋ねる前に、私の ClientTemplate は実際にはもっと複雑ですが、これは問題を説明するための単純化された例です :-)