如何移除C# Razor引擎自动添加的随机HTML属性?
解决Razor页面自动添加b-xxx属性的问题
这些以b-开头的属性是ASP.NET Core的**组件隔离(Component Isolation)**特性自动生成的,用于为组件的CSS样式创建作用域,避免样式冲突。每个组件会生成唯一的后缀标识,对应的CSS规则也会附带该属性选择器。
移除该属性的方法:
全局禁用组件隔离
在项目的Program.cs中配置服务时,关闭组件隔离选项:builder.Services.AddRazorPages() .AddRazorComponents(options => { options.IsolateComponents = false; });若使用.NET 6之前的版本(使用
Startup.cs),则在ConfigureServices方法中设置:services.AddRazorPages() .AddViewOptions(options => { options.HtmlHelperOptions.ComponentIsolationEnabled = false; });单个组件禁用隔离
仅针对特定组件关闭隔离,在组件的.razor文件顶部添加指令:@attribute [ComponentIsolation(false)]
注意事项
关闭组件隔离后,该组件的样式将不再受作用域限制,可能会与全局样式或其他组件的样式发生冲突,需要自行确保CSS的作用域正确性。
内容的提问来源于stack exchange,提问作者jgilmore
相关产品推荐
相关产品推荐

