Net Core:是否可以将TagBuilder样式属性与CSS文件合并?

时间:2019-07-10 18:25:48

标签: c# html css .net-core asp.net-core-mvc

是否可以将Tagbuilder中的样式属性与CSS / SCSS文件中的样式属性合并?似乎标签生成器正在完全删除SCSS文件中的属性。 在下面的示例中,它仅遵循“标签生成器”的宽度,而忽略了我的其他CSS文件的背景色。

test.MergeAttribute(
  "style", "width: " + CarouselWidth + @"px;  
  height:" + CarouselWidth + "px; height: 100%;"
);

.test {
  background-color:green
}

1 个答案:

答案 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);
        }
    }
}

enter image description here


由于您的帖子不清楚,根据您的“代码”,我认为您还应该设置属性class,以便可以应用您的样式。

int carouselWidth = 300;

TagBuilder div = new TagBuilder("div");

div.MergeAttribute(
    "style", 
    $"width: { carouselWidth }px; height: { carouselWidth }px;");

div.MergeAttribute(
    "class", 
    "test");

enter image description here