如何将 HTML 传递给 Razor 局部视图?

How to pass in HTML to a Razor Partial View?

我想将 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>
})

我HTMLString 不再存在于.NET Core 中,该方法是否仍可与其他一些功能一起复制?

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

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

然后在部分:

@model HTMLViewModel
@Model.Content(null)

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