2009-11-01 5 views
2

Cela fait partie de mon étincelle vue partielle (il est appelé TaskSearch):

${ Html.DropDownList("Search.Status", Model.Statuses, "All") } 

est générée par vue non étincelle avec le code :

<% Html.RenderPartial(ControllerActions.TaskSearch, ViewData["TaskSearchModel"]); %> 

Spark génère classe d'affichage qui contient

Output.Write(H(Html.DropDownList("Search.Status", Model.Statuses, "All"))); 

qui, au lieu de créer html, crée html codé html code, donc je vois des balises html sur la page de sortie, au lieu de la liste déroulante. Il me semble qu'il manque quelque chose, mais que dois-je faire pour désactiver l'utilisation de H() dans la vue générée?

Si je

<%= Html.DropDownList("Search.Status", Model.Statuses, "All") %> 

tout fonctionne très bien.

Répondre

2

j'avais

<spark> 
    <pages automaticEncoding="true"/> 
</spark> 

dans mon web.config et

settings.SetAutomaticEncoding(true); 

dans global.asax et n'a pas le remarquer. Changer pour false a résolu le problème.

+1

Laisser le paramètre automaticEncoding à true est une bonne idée, car il vous protège des attaques XSS. Vous pouvez toujours forcer la sortie avec séquence d'échappement {} (ie { "

Bonjour monde!

"}. Vérifiez http://sparkviewengine.com/documentation/configuring#Sparksettingsinconfigfile –

+0

je automaticEncoding = "true" :) Didn 't avis! {} plus tôt, j'ai utilisé <%= =>. Merci. Je reviens au moteur de vue standard, car il fonctionne beaucoup mieux avec Intellisense et ReSharper. – LukLed

Questions connexes