Для значения цикла MergeAttribute не работает должным образом - PullRequest
0 голосов
/ 11 марта 2019

Я пытаюсь зациклить существующий идентификатор в значении каждой созданной опции. С первым вариантом, являющимся пустым. Он работает для внутреннего текста, но не для атрибута слияния "value".

Мой код:

        var inneroption = new TagBuilder("option");
        StringBuilder optionbuilder = new StringBuilder();
        inneroption.SetInnerText("");
        optionbuilder.Append(inneroption.ToString());
        foreach (var terminal in GetFlightTerminals)
        {
            inneroption.MergeAttribute("value", terminal.ID.ToString());
            inneroption.SetInnerText(terminal.Name);
            optionbuilder.Append(inneroption.ToString());
        }


        innerselect.InnerHtml = optionbuilder.ToString();

Ожидаемый результат:

        <option></option>
        <option value="b5ccdcab-9dfd-40e8-9640-8fe8ef5c5f40">option 
        1</option>
        <option value="19ae8a66-c4fc-474f-a421-192a64445e6b">option 
        2</option>
        <option value="c5ff1e56-23a8-44eb-a890-42e5cf78f2ef">option 
        3</option></select>

Что происходит:

        <option></option>
        <option value="b5ccdcab-9dfd-40e8-9640-8fe8ef5c5f40">option 
        1</option>
        <option value="b5ccdcab-9dfd-40e8-9640-8fe8ef5c5f40">option 
        2</option>
        <option value="b5ccdcab-9dfd-40e8-9640-8fe8ef5c5f40">option 
        3</option></select>

Попытка поместить значение Terminal.ID.ToString () во внутренний текст вместо этого, и оно работает нормально, поэтому я предполагаю, что проблема заключается во взаимодействии MergeAttribute с циклом for.

...