Ho riscontrato un problema nella definizione di un client MVC ASP.NET per una colonna in una griglia di Kendo perché il segno "+" viene rimosso, il che causa il modello generato lato client da fallire a causa di una sintassi errata.Escaping + (più) accesso alla griglia di Kendo ASP.NET MVC ClientTemplate
mio ClientTemplate è:
c.Template(@<text></text>).ClientTemplate("#='Hello' + Name#")
Nel client, tuttavia, questo si riduce a:
template: "#='Hello' Name#"
cioè il segno più è stato reso come uno spazio (simile alla codifica URL immagino). Il modello funziona perfettamente se utilizzo direttamente da JS (vedere questo JSBin).
Qualcuno sa come posso sfuggire al segno + per poterlo utilizzare nel ClientTemplate?
Ho provato la fuga usando '\\+
' (ottiene reso come '\
'),' \+
' (valida C#), +
(lo stesso +
, anche se altri, come ,
'funzionano bene).
Qualche idea? Grazie.
Per riferimento sto usando Razor marcatura e il rilascio Kendo Q2 2012 (non è possibile utilizzare Q3 ancora come limitata dalla versione jQuery come stiamo aggiornamento da Telerik)
NOTA: prima che qualcuno chiede perché sto facendo questo, il mio ClientTemplate è in realtà più complessa, ma questo è un esempio semplificato per illustrare il problema :-)
Il mio codice effettivo è più complesso di una concatenazione di stringhe - c'è un po 'di logica come parte di un'istruzione condizionale che ha effettivamente bisogno di fare un'aggiunta aritmetica, quindi ho bisogno del +. L'unico modo per risolvere il problema è spostare il JS in una funzione e chiamarlo, ma sarebbe bello farlo nel modello per mantenere tutto insieme. Saluti. –