Search code examples
asp.net-mvcspark-view-enginehtml-encode

Spark view engine automatically applies H() to ${ ... }


This is part of my spark partial view (it is called TaskSearch):

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

it is generated by non-spark view with code:

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

Spark generates view class that contains

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

which instead of creating html, creates html encoded html code, so I see html tags on output page, instead of dropdown list. I am propably missing something, but what should I do to disable H() usage in generated view?

If I use

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

everything works fine.


Solution

  • I had

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

    in my web.config and

    settings.SetAutomaticEncoding(true);
    

    in global.asax and didn't notice it. Changing to false resolved the problem.