В моем проекте у меня есть модель, которая имеет свойство string, которое содержит контент со стандартами бритвы. Мне нужно скомпилировать свойство для отображения результата html.Как сгенерировать частичные представления из строки в asp.net mvc?
В ViewModel у меня есть код, как следующее:
public class PluginContent{
public string Content {private set;get;}
private void FillContent() {
Content ="@{int count=10; fore (int i=0;i<count;i++) <b>@i.toString() </b>}";
}
public PluginContent(){
FillContent()
}
}
И вид бритвы у меня есть:
@model plugincontent
<h3>Your content is: </h3>
@Html.Raw(Model.Content)
Я думал Html.Raw банки помочь мне, но это не так. Мне нужно отобразить это строковое содержимое, как стандартное частичное представление.
Что реальной проблемой являются вы пытаетесь решить? Почему вы генерируете код Razor в своем контроллере/модели? Почему бы вам не создать частичный вид в первую очередь? Если вы хотите создать разные частичные представления, вы можете использовать '@ Html.Partial' с именем вида. Если вы хотите создать различные компоненты MVC, вы можете использовать '@ Html.Display'. MVC поддерживает композицию из коробки. –
@PanagiotisKanavos, мой главный сценарий большой, я хочу получить и показать html-коды из метода или свойства, которое находится в плагине (не в основном проекте). этот плагин получает представление из встроенных ресурсов сборки и возвращает его как строку. Я не хочу создавать контроллер в плагине для получения небольших результатов. Я могу отправить imodule (который является интерфейсом для моих плагинов) с viewbag или моделью для просмотра, и если я смогу скомпилировать строки для html во время выполнения, мой сценарий будет полностью выполнен. – isaeid
MVC уже имеет аналогичную концепцию, помощники Html. То, как вы пытаетесь это сделать, теперь нарушает архитектуру MVC. Код Razor - это все * виды *. Он не должен генерироваться ViewModel. –