如何在asp.net mvc中从字符串生成局部视图?

时间:2015-01-20 08:04:10

标签: c# asp.net-mvc-5

在我的项目中,我有一个具有字符串属性的模型,其中包含具有剃刀标准的内容。我需要编译属性以显示html结果。

在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()
}
}

在razor视图中我有:

@model plugincontent

<h3>Your content is: </h3>
@Html.Raw(Model.Content)

我认为Html.Raw可以帮助我,但事实并非如此。我需要像标准的部分视图一样呈现这个字符串内容。

1 个答案:

答案 0 :(得分:0)

我不知道如何正确地寻找你正在寻找的东西。在类似情况下我会做的是编写一个方法,返回所需的HTML(而不是Razor来生成HTML)并从视图中调用它。

类似的东西:

public IHtmlString Content()
{
StringBuilder sb = new StringBuilder();
for (int i = 0; i < count; i++)
{
sb.Append("<b>");
sb.Append(i.ToString());
sb.Append("</b>");    
}

     return new MvcHtmlString(sb.ToString());
}

如果你真的想让Razor生成类似

的HTML外观