我在MVC Razor中使用DropDownList,并且遇到自动HTML编码问题。我的代码如下:
@Html.DropDownList("MyList", Model.DropdownNamesAndValues)
哪个工作正常,但SelectListItem.Text
列表中的DropdownNamesAndValues
属性可能包含HTML粗体或斜体标记。这些目前正在下拉列表中显示(例如<i>hello</i> world
)。我想知道该怎么做:
SelectListItem.Text
属性?答案 0 :(得分:2)
在控制器中写入一个方法,在字符串中查找<*> and </*>
个子集,并将其删除。
我认为你不能在下拉列表中添加html标签。
答案 1 :(得分:2)
可能需要从模型本身中删除这些html元素,然后将清理后的数据附加到视图下拉列表中
答案 2 :(得分:1)
如果您希望在不编码的情况下发布HTML,则可以扩展 DropDownList
帮助器,以便排除{{1}中对HttpUtility.HtmlEncode()
的调用}} 方法。看起来好像你需要使用很多代码,但在this article中描述了扩展它(用于不同的目的)。
答案 3 :(得分:1)
您应该在视图之前删除html标记。在控制器中,或者最好在您希望获得值的模型中。