.net core 生成html,ASP.NET Core 中如何将 .cshtml 视图文件生成为 .cs 文件
用的是 ASP.NET Core 3.0
經過折騰終于通過下面的代碼將 .cshtml 生成了 .cs ,但生成的 .cs 文件無法正常使用
class Program
{
static void Main(string[] args)
{
var dir = new DirectoryInfo("../Cnblogs.Web.ErrorPages/Views/Errors/");
foreach (var file in dir.GetFiles("*.cshtml"))
{
RazorToCSharp(file.Name);
}
}
private static void RazorToCSharp(string filename)
{
var baseType = filename == "default.cshtml" ?
"Microsoft.AspNetCore.Mvc.Razor.RazorPage" :
"Microsoft.AspNetCore.Mvc.Razor.RazorPage";
var projectFileSystem = RazorProjectFileSystem.Create("../Cnblogs.Web.ErrorPages/Views/Errors/");
var projectEngine = RazorProjectEngine.Create(RazorConfiguration.Default, projectFileSystem, builder =>
{
builder
.SetNamespace("Cnblogs.Web.ErrorPages")
.SetBaseType(baseType)
.ConfigureClass((doc, @class) =>
{
@class.ClassName = "Error" + Path.GetFileNameWithoutExtension(filename);
});
});
RazorProjectItem projectItem = projectFileSystem.GetItem(filename, null);
RazorCodeDocument razorDocument = projectEngine.Process(projectItem);
RazorCSharpDocument csDocument = razorDocument.GetCSharpDocument();
string csString = csDocument.GeneratedCode;
var targetFilePath = projectItem.PhysicalPath.Replace(projectItem.Extension, ".Designer.cs");
File.WriteAllText(targetFilePath, csString);
}
}
總結
以上是生活随笔為你收集整理的.net core 生成html,ASP.NET Core 中如何将 .cshtml 视图文件生成为 .cs 文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: html.编辑数据回显,从HTML表格编
- 下一篇: html用dom显示xml,dom 编程