Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用C#添加html样式的容器?_C#_Htmlcontrols - Fatal编程技术网

如何使用C#添加html样式的容器?

如何使用C#添加html样式的容器?,c#,htmlcontrols,C#,Htmlcontrols,我需要在特定页面的部分添加一个HTML样式容器,如下所示: <style> #mycontrol { color:#ff0000; } </style> #霉菌控制 { 颜色:#ff0000; } 尽管有很多方法可以做到这一点,但我一直在考虑从System.Web.UI.HtmlControl命名空间实例化一个HtmlControl,并简单地在页面上呈现它。然而,我只发现HtmlGenericControl是最接近的候选控件-我可以使用更合适的控件,还是必须

我需要在特定页面的部分添加一个HTML样式容器,如下所示:

<style>
#mycontrol
{
    color:#ff0000;
}
</style>

#霉菌控制
{
颜色:#ff0000;
}
尽管有很多方法可以做到这一点,但我一直在考虑从System.Web.UI.HtmlControl命名空间实例化一个HtmlControl,并简单地在页面上呈现它。然而,我只发现HtmlGenericControl是最接近的候选控件-我可以使用更合适的控件,还是必须使用其他方法?

尝试类似的方法

HtmlGenericControl style = new HtmlGenericControl();
style.TagName = "style";
style.Attributes.Add("type", "text/css");
style.InnerHtml = "body{background-color:#000000;}";
Page.Header.Controls.Add(style); 

伊沃·斯托伊科夫

试试类似的方法

HtmlGenericControl style = new HtmlGenericControl();
style.TagName = "style";
style.Attributes.Add("type", "text/css");
style.InnerHtml = "body{background-color:#000000;}";
Page.Header.Controls.Add(style); 

伊沃·斯托伊科夫

你可以试试这个:

    var myStyle =
        new Style { ForeColor = System.Drawing.Color.FromArgb(255, 0, 0) };

    Page.Header.StyleSheet.CreateStyleRule(myStyle, this, ".myStyle");
您可以尝试以下方法:

    var myStyle =
        new Style { ForeColor = System.Drawing.Color.FromArgb(255, 0, 0) };

    Page.Header.StyleSheet.CreateStyleRule(myStyle, this, ".myStyle");

您可以使用HtmlGenericControl,如果愿意,也可以使用文字

更好的方法可能是使用类似以下代码的内容将其插入HTML头中


您可以使用HtmlGenericControl,如果愿意,也可以使用文字

更好的方法可能是使用类似以下代码的内容将其插入HTML头中



尽管这是完全可以接受的方法,但它会在头部创建额外的样式块,而不会重用已经存在的样式块(如果确实存在),除非您在客户端执行某些操作,希望头部中的样式只有一个容器,当然,如果您要添加大量的样式规则,那么每个规则都将包装在自己的样式块中,这是一个优化考虑,此外,由于大部分内容是非编译代码,因此引入语法错误会更容易。看起来HTML4.01上的w3规范允许在标题部分使用多个样式容器,所以我认为这并不重要。就我个人而言,我可能更倾向于在head部分添加我自己的样式容器,尤其是如果我知道我不能完全控制该页面的呈现。同样,这是一个简单的例子,还有很多。尽管这是完全可以接受的方法,但它会在头部创建额外的样式块,而不会重用已经存在的样式块(如果没有),除非您在客户端做了一些事,希望头部中的样式只有一个容器,当然,如果您要添加大量的样式规则,那么每个规则都将包装在自己的样式块中,这是一个优化考虑,此外,由于大部分内容是非编译代码,因此引入语法错误会更容易。看起来HTML4.01上的w3规范允许在标题部分使用多个样式容器,所以我认为这并不重要。就我个人而言,我可能更倾向于在head部分添加我自己的样式容器,尤其是如果我知道我不能完全控制该页面的呈现。再一次,这是一个简单的例子,还有很多。对不起,伊万诺夫,我没有直接思考就发布了这个。如果样式类不支持内容(通过id而不是类属性引用控件),这种方法仍然有效吗?同样的事情也适用于任何选择器,这是IStyleSheet.CreateStyleRule方法的第三个参数,只需传递“#mycontrol”就行了,但是属性中未包含的CSS属性呢,如“可见性”?这是其他更具体控件样式的基类,也许如果你告诉我们如何使用它,我们可以给你更精确的答案对不起,伊万诺夫,我没有直接思考就发布了这个。如果样式类不支持内容,这种方法仍然有效吗(通过id而不是类属性引用控件)?同样的事情也适用于任何选择器,这是IStyleSheet.CreateStyleRule方法的第三个参数,只需传递“#mycontrol”就可以了,但是属性中未包含的CSS属性,如“可见性”又如何呢“?这是其他更具体的控件样式的基类,如果你告诉我们如何使用它,我们可以给你更精确的答案,因为我写信给K Ivanov,我没有直接思考就发布了这个。我更新了示例,使其更精确:-)CreateStyleRule应该仍然适用于你-只需使用”#mycontrol”对于第三个参数,我注意到只有少数属性映射到CSS属性。例如,我找不到任何映射到“display”的属性。我必须以另一种方式添加它吗?这篇文章--建议您可以在样式对象上使用
.add()
?不过,我不确定这是否有效——对不起:/当我写信给伊万诺夫时,我没有直接思考就发布了这篇文章。我更新了示例,使其更加精确:-)CreateStyleRule应该仍然适用于您-只需使用“#mycontrol”作为第三个参数。我注意到只有少数属性映射到CSS属性。例如,我找不到任何映射到“display”的属性。我必须以另一种方式添加它吗?这篇文章--建议您可以在样式对象上使用
.add()
?但不确定是否有效-抱歉:/