C # Tag Builder добавить атрибут без значения, необходимо отключить флажок - PullRequest
0 голосов
/ 14 февраля 2019

Я пытаюсь сгенерировать входной флажок 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 для добавления отключенного поля

1 Ответ

0 голосов
/ 14 февраля 2019

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

if (disabled)
{
    builder.MergeAttribute("disabled", "disabled");
}
...