2009-11-01 56 views
2

這是我的火花局部視圖的一部分(它被稱爲TaskSearch):

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

它通過與代碼無火花視圖生成:

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

火花生成包含

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

視圖類,而不是創建的HTML,將創建的HTML編碼的html代碼,所以我在輸出頁面上看到html標籤,而不是下拉列表。我有點失望,但我該怎麼做才能在生成的視圖中禁用H()的用法?

如果我使用

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

一切工作正常。

回答

2

<spark> 
    <pages automaticEncoding="true"/> 
</spark> 
在我的web.config

settings.SetAutomaticEncoding(true); 

在Global.asax中,並沒有注意到它。更改爲false可解決問題。

+1

無論如何,將automaticEncoding設置爲true仍然是一個好主意,因爲它可以保護您免受XSS攻擊。你可以使用!{}(即!{「

你好世界!

」}。}檢查http://sparkviewengine.com/documentation/configuring#Sparksettingsinconfigfile – 2009-11-18 20:28:37

+0

我用automaticEncoding =「true」:) Didn 't notice!{}早些時候,我用<%= =>。謝謝。我將回到標準視圖引擎,因爲它在Intellisense和ReSharper中效果更好。 – LukLed 2009-11-18 20:42:13