使用 Razor 解析 Html 字符串
Parse Html string with Razor
我有一个应用程序生成动态 html 代码,带有 asp.net 核心标签助手,例如
<input type="hidden" asp-for="Id" />
<input asp-for="Name" />
<input asp-for="IsActive" />
我return这个html代码从数据库到控制器,我需要用asp.net核心的Razor引擎解析它,当然传递一个模型给引擎从中获取数据,我该怎么做?
定义模型
public class Model {
Id, Name...
}
和
@Html.Raw(your html template)
解决此问题的一种可能方法是创建访问数据库的自定义 IFileProvider。
这里有一篇博客 post 解释了如何操作,但它有点旧:
https://www.mikesdotnetting.com/article/301/loading-asp-net-core-mvc-views-from-a-database-or-other-location
当前的官方 FileProvider 文档在此处:https://docs.microsoft.com/en-us/aspnet/core/fundamentals/file-providers?view=aspnetcore-2.2
这将使用数据库中的内容模拟虚拟文件系统,然后可以像使用任何 cshtml 文件一样使用这些视图(例如作为局部视图)
我最终创建了一个自定义文件提供程序,它从数据库中获取视图,这个 link 对此进行了解释
https://www.mikesdotnetting.com/article/301/loading-asp-net-core-mvc-views-from-a-database-or-other-location
我有一个应用程序生成动态 html 代码,带有 asp.net 核心标签助手,例如
<input type="hidden" asp-for="Id" />
<input asp-for="Name" />
<input asp-for="IsActive" />
我return这个html代码从数据库到控制器,我需要用asp.net核心的Razor引擎解析它,当然传递一个模型给引擎从中获取数据,我该怎么做?
定义模型
public class Model {
Id, Name...
}
和
@Html.Raw(your html template)
解决此问题的一种可能方法是创建访问数据库的自定义 IFileProvider。
这里有一篇博客 post 解释了如何操作,但它有点旧: https://www.mikesdotnetting.com/article/301/loading-asp-net-core-mvc-views-from-a-database-or-other-location
当前的官方 FileProvider 文档在此处:https://docs.microsoft.com/en-us/aspnet/core/fundamentals/file-providers?view=aspnetcore-2.2
这将使用数据库中的内容模拟虚拟文件系统,然后可以像使用任何 cshtml 文件一样使用这些视图(例如作为局部视图)
我最终创建了一个自定义文件提供程序,它从数据库中获取视图,这个 link 对此进行了解释 https://www.mikesdotnetting.com/article/301/loading-asp-net-core-mvc-views-from-a-database-or-other-location