c# - 网络核心 : Is it Possible to Merge TagBuilder Style Attributes with CSS Files?

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

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

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

.test {
  background-color:green
}

最佳答案

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

关于c# - 网络核心 : Is it Possible to Merge TagBuilder Style Attributes with CSS Files?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56976602/

相关文章:

c# - 如何使用检查器在单击按钮时设置 PlayerPrefs 以切换场景?

c# - 从C#中的字符串中提取子字符串

c# - 如何在 asp.net c# html 中显示文本之间的空格

javascript - 将 .json 文件导入 javascript 时,我的 HTML 文件失去了从 javascript 代码调用函数的能力

css - 将堆叠的 div 放置在容器底部

c# - 从集合 Entity Framework 中删除项目

c# - 更新按钮触发编辑事件处理程序

html - 当祖先有类 CSS (LESS) 时改变 li 的高度

html - 透明背景图片链接

html - 更改我的 HTML/CSS 输出中的日期格式