有没有办法在调用 AddAttribute 后删除属性

Is there a way to remove attribute after calling `AddAttribute`

AddAttribute (msdn) 添加属性后,是否有任何方法可以删除该属性?

示例:

public static void GenerateFieldInput(HtmlTextWriter writer)
{
    writer.RenderBeginTag(HtmlTextWriterTag.Input);
    writer.AddAttribute("placeholder", "some value");

    // some code logic

    writer.RemoveAttribute("placeholder"); // there isn't such method in HtmlTextWriter
}

HtmlTextWriter,与许多其他 TextWriter 一样,只将内容写入流中。没有正式的方法可以从中删除内容。

你为什么要首先删除该属性?您是否发现稍后在代码中不再需要该属性?如果是这种情况,请在编写之前尝试确定是否确实需要该标记。

如果你做不到,你可以把所有你想添加的属性放在一个List<T>中,这样你就可以添加和删除元素。在您完全确定这就是您要编写的内容之后,执行一个 foreach 循环并编写每个属性。