从Razor生成C#(jlazor)
我试图使用软件包示例代码从代码生成G.CS
<PackageReference Include="Microsoft.AspNetCore.Razor.Language" Version="6.0.5" />
,以将Razor编译为CS:
var engine = RazorProjectEngine.Create(RazorConfiguration.Default, RazorProjectFileSystem.Create(pathWhereCsProjLives));
var file = engine.FileSystem.GetItem("/pages/Counter2.razor");
var document = engine.Process(file).GetCSharpDocument();
var generatedCode = document.GeneratedCode;
它无法正常工作。为了实现,将生成这样的按钮:
__builder.AddMarkupContent(5, "<button class=\"btn btn-primary\" @onclick=\"IncrementCount\">Click me</button>");
应该是这样的:
__builder.OpenElement(5, "button");
__builder.AddAttribute(6, "class", "btn btn-primary");
__builder.AddAttribute(7, "onclick", Microsoft.AspNetCore.Components.EventCallback.Factory.Create<Microsoft.AspNetCore.Components.Web.MouseEventArgs>(this, IncrementCount
));
__builder.AddContent(8, "Click me");
__builder.CloseElement();
}
Im trying to generate the g.cs from code using package
<PackageReference Include="Microsoft.AspNetCore.Razor.Language" Version="6.0.5" />
Sample code to compile razor into cs:
var engine = RazorProjectEngine.Create(RazorConfiguration.Default, RazorProjectFileSystem.Create(pathWhereCsProjLives));
var file = engine.FileSystem.GetItem("/pages/Counter2.razor");
var document = engine.Process(file).GetCSharpDocument();
var generatedCode = document.GeneratedCode;
It does not work properly. For intance a button will be generated like this:
__builder.AddMarkupContent(5, "<button class=\"btn btn-primary\" @onclick=\"IncrementCount\">Click me</button>");
Should be something like:
__builder.OpenElement(5, "button");
__builder.AddAttribute(6, "class", "btn btn-primary");
__builder.AddAttribute(7, "onclick", Microsoft.AspNetCore.Components.EventCallback.Factory.Create<Microsoft.AspNetCore.Components.Web.MouseEventArgs>(this, IncrementCount
));
__builder.AddContent(8, "Click me");
__builder.CloseElement();
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我尝试了另一种
生成的
语法,并且在这里运行良好。
使用
&lt; packagereference includs =“ microsoft.aspnetcore.razor.language”版本=“ 6.0.13” /&gt; < /code>
I have try another syntax
it generated
and it works well here.
using
<PackageReference Include="Microsoft.AspNetCore.Razor.Language" Version="6.0.13" />