我有這個輸入元素,它與下劃線模板效果很好。如何阻止HTML助手編碼HTML元素的值屬性?
<input id="color" name="color" value="<%= color %>" />
我想使用Html.Helper
方法來生成元素。
我最初嘗試只是基本的助手
@Html.TextBox("color", "<%= color %>")
但是,這給了我
<input id="color" name="color" type="text" value="<%= color %>" />
我試着包裝的價值屬性與Html.Raw
但給出了同樣的結果,以及環繞整個幫手結果在同樣的事情。
整個塊被包裹在<script type="text/template">
標記中。
爲什麼它會將<
轉換爲<
以及如何讓它停止?
這工作,但
@MvcHtmlString.Create(Html.TextBox("color", "<%= color %>").ToString().Replace("<", "<"))
因爲屬性值應該被編碼。 – SLaks
我認爲你的問題在於你正在使用HTML生成工具來生成'text/plain',看起來像'text/html'很糟糕,但它不是HTML,不應該被當作HTML 。 –
@ muistooshort,我將代碼包裝在'text/template'標籤中,但Razor助手在生成代碼時並不完全在意。 Underscore不會像我希望的那樣處理'<'。我只是想找一種方法讓Razor和Underscore.js一起工作。 – Brandon