如何将HTML传递到剃刀局部视图?

时间:2019-06-21 14:06:14

标签: c# .net razor razor-pages

我想将HTML传递到我的局部视图,就像这样:

@Html.Partial("_MyForm", "<button id='foo'>Process Data</button>")

这当前有效,但是传递字符串的效果不佳。以前,IHTMLString允许您执行此操作(请参见link):

public class HTMLViewModel
{
    public Func<object, IHtmlString> Content { get; set; }
}

@Html.Partial("_MyForm", new HTMLViewModel()
{
    Content =  
    @<button>
       <h1>Hello World</h1>
    </button>
})

.NET Core中不再存在IHTMLString,是否仍可以使用其他功能来复制该方法?

1 个答案:

答案 0 :(得分:2)

您可以使用IHtmlContent来保持当前的方法:

public Func<object, IHtmlContent> Content { get; set; }

然后在部分中:

@model HTMLViewModel
@Model.Content(null)

根据您所使用的.NET Core版本,您还可以利用此处讨论的一些内联函数标记更改:https://github.com/aspnet/AspNetCore-Tooling/pull/334