是否可以将Tagbuilder中的样式属性与CSS / SCSS文件中的样式属性合并?似乎标签生成器正在完全删除SCSS文件中的属性。 在下面的示例中,它仅遵循“标签生成器”的宽度,而忽略了我的其他CSS文件的背景色。
test.MergeAttribute(
"style", "width: " + CarouselWidth + @"px;
height:" + CarouselWidth + "px; height: 100%;"
);
.test {
background-color:green
}
答案 0 :(得分:1)
TagBuilder
在这里可以帮助您轻松构建 HTML元素,而不必连接字符串。如果您了解自己正在从头开始构建元素。这意味着,如果您不将名为“ background-color”的属性合并到标签生成器中,则它将没有名为“ background-color”的属性。
以下代码还应设置属性“ background-color”:
using Microsoft.AspNetCore.Mvc.Rendering;
using Microsoft.AspNetCore.Razor.TagHelpers;
namespace DL.SO.Framework.Mvc.TagHelpers
{
public class TestTagHelper : TagHelper
{
public override void Process(TagHelperContext context, TagHelperOutput output)
{
int carouselWidth = 300;
TagBuilder div = new TagBuilder("div");
div.MergeAttribute(
"style",
$"width: { carouselWidth }px; height: { carouselWidth }px; background-color: green;");
output.Content.SetHtmlContent(div);
}
}
}
由于您的帖子不清楚,根据您的“代码”,我认为您还应该设置属性class
,以便可以应用您的样式。
int carouselWidth = 300;
TagBuilder div = new TagBuilder("div");
div.MergeAttribute(
"style",
$"width: { carouselWidth }px; height: { carouselWidth }px;");
div.MergeAttribute(
"class",
"test");