.razor
我的文件和文件中出现“;预期”错误_razor.g.cs
,
在以前的 Blazor 版本中,我在解决方案文件夹中找到这些g.cs
文件,现在我在那里找不到它们,并且双击 VS 中的错误消息不会将我指向任何位置(错误消息没有行号,该行号为.g.cs有行号),我找不到问题。
_razor.g.cs 文件现在位于哪里?
我试图RenderFragment
从组件私有方法返回 a ,但出现编译错误:
'__builder' does not exist in the current context
Run Code Online (Sandbox Code Playgroud)
这是显示问题的最小代码:
<div>
@RenderButton(1)
</div>
@code {
private RenderFragment RenderButton(int number)
{
return builder =>
{
<button type="button">@number</button>
};
}
}
Run Code Online (Sandbox Code Playgroud)
在我看来,这可能是不可能/允许的,如果不是,有什么方法可以避免编写相同的渲染代码?假设我需要在RenderButton
多个循环中使用此方法,并且 if else 块
编辑:我现在能想到的唯一解决方案是为每个RenderFragment
方法创建一个组件
我想知道是否有推荐的方法在代码中将字符串转换为 RenderFragment。现在我正在这样做:
RenderFragment fragm = @<text>@myString</text>;
Run Code Online (Sandbox Code Playgroud)
但我不知道这是否是最好的方法
我在构建时只收到此错误:
Blazor Metadata file '..Proj\obj\Debug\net6.0\ref\Proj.dll' could not be found
Run Code Online (Sandbox Code Playgroud)
解决方案是昨天我关闭它时构建的,我可以放弃 git 中的所有更改,但仍然收到此错误。
我所做的最后一个更改是在我的项目文件中添加<EmitCompilerGeneratedFiles>true</EmitCompilerGeneratedFiles>
(如下: https: //stackoverflow.com/a/71179023/11783857),但现在即使删除此文件后我仍然遇到相同的错误。
没有显示任何其他错误,只是找不到元数据文件。
请注意,我不能只使用 CSS,:hover
因为我还需要根据keydown
不同的元素修改这些元素的类属性,即使鼠标仍然悬停,它也可能会丢失类,直到mousemove
再次发生这种情况。
所以有一个这样的列表:
<ul>
<li> item1 </li>
...
</ul>
Run Code Online (Sandbox Code Playgroud)
我需要添加一个类来li
标记,仅当mousemove
触发它时
blazor 可以做到这一点吗?或者仅使用 jsinterop
我有一个控制台应用程序可以删除一些文件,并且只有以管理员身份启动时才能执行此操作。
当应用程序不以管理员身份启动时,我希望它:
(有点像notepad++,当你尝试编辑某个文件时,它会询问你是否要以管理员身份重新启动)
这在 C# 中很容易做到吗?