C# Tag Builder добавить атрибут без значения, необходимо отключить флажок

Я пытаюсь сгенерировать входной флажок html, используя Tag Builder в C#, однако искал везде и не могу добавить к нему отключенное поле, так как он не позволяет значению атрибута быть нулевым или пустым.

Есть ли альтернативный способ добавить атрибут без значения???

var builder = new TagBuilder("input");
var checkedProp = true? "checked" : string.Empty;
var disabled = true? "disabled" : string.Empty;
builder.MergeAttribute("type", "checkbox");
builder.MergeAttribute("name", "yolo");
builder.MergeAttribute("checked", checkedProp);
builder.MergeAttribute(disabled, string.Empty); // failed here

Значение не может быть нулевым или пустой строкой. Имя параметра: ключ Описание: необработанное исключение произошло во время выполнения текущего веб-запроса. Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где она возникла в коде.

Сведения об исключении: System.ArgumentException: значение не может быть нулевым или пустой строкой.

Есть ли более элегантный способ добавить атрибут без значения??? Не хочу использовать оператор if else для добавления отключенного поля

1 ответ

Просто условно позвони MergeAttribute и использовать строку "disabled" добавить атрибут.

if (disabled)
{
    builder.MergeAttribute("disabled", "disabled");
}
Другие вопросы по тегам