gpt4 book ai didi

c# - 如何在 HtmlGenericControl 上创建无值(value)的属性

转载 作者:行者123 更新时间:2023-12-05 07:57:06 28 4
gpt4 key购买 nike

我正在 C#/ASP.net 中创建一个新的 HtmlGenericControl,并且需要在该控件上创建一个没有值的属性。这意味着属性后没有 =""。

oHtmlGenericControl = new HtmlGenericControl("MyHtmlTag");
oHtmlGenericControl.Attributes.Add("MyFirstAttribute", "MyAttributeValue");
oHtmlGenericControl.Attributes.Add("MySecondAttribute", "");

会产生这样的东西......

<MyHtmlTag MyFirstAttribute="MyAttributeValue" MySecondAttribute=""></MyHtmlTag >

而我想要的是这个...

<MyHtmlTag MyFirstAttribute="MyAttributeValue" MySecondAttribute></MyHtmlTag >

我试过传递 null 而不是空字符串,但是属性根本没有出现。

我做了以下认为一开始它是有效的......

oHtmlGenericControl = new HtmlGenericControl("MyHtmlTag");
oHtmlGenericControl.TagName = oHtmlGenericControl.TagName + " MySecondAttribute";

但它最终给了我这个......

<MyHtmlTag MySecondAttribute></MyHtmlTag MySecondAttribute>

因此,根据评论,HTML 中可能没有任何“无值(value)”的属性。在仔细检查 W3C 标准后,添加我需要添加的属性的正确方法是 AttributeName="AttributeName"。 AttributeName 本身被大多数浏览器接受并被认为是有效的,但在大多数在线示例中没有给出值。

oHtmlGenericControl.Attributes.Add("MyAttributeName", "MyAttributeName");

所以上面的例子适用于我的情况(可能还有所有类似的情况),但没有准确回答是否可以使用 HtmlGenericControl 添加没有值的属性的问题。

<MyHtmlTag MyAttributeName="MyAttributeName"></MyHtmlTag>

最佳答案

首先,调查为什么需要空属性。也许你有一个正当的理由,如果是这样试试这个(未经测试):

var wr = new System.IO.StringWriter(new StringBuilder("MySecondAttribute"));
var htw = new HtmlTextWriter(wr);
oHtmlGenericControl.Attributes.AddAttributes(htw);

关于c# - 如何在 HtmlGenericControl 上创建无值(value)的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27909126/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com