Я закончил тем, что создал вспомогательный метод html, который берет два моих списка, и для каждого элемента создает новый тег типа «option» и добавляет его в список выбора. Таким образом, я могу добавить атрибуты, такие как "disabled =" disabled "" и так далее.
Это не аккуратно, это не аккуратно. Честно говоря, это ужасный код, и мне бы хотелось иметь лучший способ сделать это. Тем не менее, на данный момент не хватает времени, чтобы выполнить мою задачу, поэтому в конечном итоге сделать так:
var fullList = new StringBuilder();
var selectList = new TagBuilder("select");
selectList.Attributes.Add("name", "currencies");
selectList.Attributes.Add("id", "selectCurrency");
foreach (var currency in currencies)
{
var option = new TagBuilder("option") {InnerHtml = currency.Id};
option.Attributes.Add("value", currency.Id);
fullList.AppendLine(option.ToString());
}
var separator = new TagBuilder("option") { InnerHtml = "-------" };
separator.Attributes.Add("disabled", "disabled");
fullList.AppendLine(separator.ToString());
selectList.InnerHtml = fullList.ToString();
Если у вас есть лучший способ, пожалуйста, дайте мне знать, и я мог бы вернуться к этой задаче позже для некоторого рефакторинга, и я хотел бы иметь хороший способ сделать это тогда.