Почему код C #, выполняемый из razor view, кодируется?

#asp.net-mvc #asp.net-mvc-3

#asp.net-mvc #asp.net-mvc-3

Вопрос:

Я хотел бы выполнить следующее из представления razor

 @Select.Topics(@Model.DataSource, @Model.ExamID, @Model.TopicID)
  

Код работает нормально, но когда он возвращается, все кодируется:

 <select id="TopicID">
                amp;<option value=amp;#39;00amp;#39;amp;>All Topicsamp;</optionamp;>amp;<option value=amp;#39;01amp;#39;  selected=amp;#39;selectedamp;#39; 
        </select>
  

Я не могу изменить свой код C #, поскольку он используется в других местах. Как я могу заставить представление принимать именно то, что мне нужно? Кажется, я что-то помню о RenderAction, это был бы вариант?

Ответ №1:

Выходные данные кодируются для предотвращения внедрения HTML-кода. Чтобы обойти кодировку, используйте помощник @Html.Raw («[html string]»), кстати, вы не должны хранить параметры в виде HTML-тегов. Сохраните только значения, а затем используйте помощник @Html.DropDownList