在我们之前的 .NET 4.8 项目中,我们能够将部分视图的输出呈现为文本,如下所示:
@Html.Hidden("hdnContent", Html.Partial("~/Views/Shared/_content.cshtml", Model).ToHtmlString())
这工作得很好 - 部分的 HTML 输出被捕获为隐藏字段中的字符串。
但是,当我尝试在 ASP.NET Core 9.0 MVC 中执行相同的操作时,隐藏字段中会呈现以下内容:
Microsoft.AspNetCore.Mvc.ViewFeatures.Buffers.ViewBuffer
在渲染局部时,我尝试了几种不同的方法,如下所示:
@{
var content = (await Html.PartialAsync("~/Views/Shared/_content.cshtml", Model)).ToString();
}
@Html.Hidden("hdnContent", content)
但我始终看到相同的结果。
有没有办法实现我之前在 .NET 4.8 中实现的功能?