Я дам вам официальный ответ, основываясь на том, что я уже сказал в комментариях выше.Возможно, это немного прояснит ситуацию.
- Представьте все свои пользовательские элементы управления как частичные представления.
- Определите какую-то специальную разметку , чтобы визуализировать вашcontent.
- Реализация настраиваемого синтаксического анализатора для пользовательской разметки (или использование для этого сторонней библиотеки).
- На основе разметки визуализируйте окончательный HTML-код, содержащий все ссылки на выбранные элементы управления.пользователем.
Например, вы могли бы публиковать что-то вроде этого (используя модифицированный синтаксический анализатор BBCode *):
[p]Some text[/p]
[facilities id="facilities" membertypes="2,3,4"]
[p]Some more text[/p]
Фактически,это гораздо безопаснее , чем публикация "HTML с тегами сервера ASP.NET".Я верю, что какой-то хакер мог бы использовать ваше текущее решение для расширенного редактирования для публикации HTML-кода, который мог бы исследовать некоторый бэкдор на стороне клиента или сервера, но, возможно, я ошибаюсь ...
И снова, вы не может использовать тот же подход, который вы использовали, чтобы следовать с версией ASP.NET WebForms - в ASP.NET MVC нет такого понятия, как серверные теги.
Это, конечно, гораздо большесложнее, чем ваше предыдущее решение ASP.NET WebForms.Но AFAIK - это то, как вы должны реализовать его в ASP.NET MVC (если нет какой-либо сторонней библиотеки, способной сделать это, о которой я не знаю).
Кроме того, извините, если я не сделалэто яснее с самого начала - английский не мой родной язык, и у меня возникли некоторые проблемы с объяснением вам всей этой концепции.
* См. Codekicker.BBCode для реализации BBCode в.СЕТЬ.Фактически AFAIK может быть интегрирован с markItUp! - это даст вам почти полное решение для rich-редактора бесплатно.