关于c#:如何在MVC Razor DropDownList中使用Html.Raw?

How to use Html.Raw in MVC Razor DropDownList?

我在MVC Razor中使用DropDownList,并且在自动HTML编码方面遇到问题。我的代码如下:

1
@Html.DropDownList("MyList", Model.DropdownNamesAndValues)

可以正常工作,除了DropdownNamesAndValues列表中的SelectListItem.Text属性可以在其中包含HTML粗体或斜体标签。这些当前实际显示在下拉菜单中(例如hello world)。我想知道怎么做:

  • 如何将@ Html.Raw应用于每个SelectListItem.Text属性?
  • 失败了,有没有一种简单的方法可以删除HTML标签呢?基本上什么都没有,而不是像现在这样按字面意义显示。


可能是您需要从模型本身中删除这些html元素,然后将清理后的数据添加到视图dropdownlist


在控制器中编写一个方法,该方法在您的字符串中查找<*> and </*>子集,然后将其删除。

我认为您不能在下拉列表中添加html标签。


您应该在视图之前删除html标签。在控制器中,或者最好在模型中,希望您获得这些值。


如果要允许在不进行编码的情况下发送HTML,则可以扩展DropDownList帮助器,以便可以在ListItemToOption方法中排除对HttpUtility.HtmlEncode()的调用。似乎确实需要使用很多代码,但是本文将介绍扩展代码(出于不同的目的)。