如何在 webforms 中用 select 中的自定义 HTML 替换 ListItem

How to replace ListItem with custom HTML in select in webforms

我在一个应用程序中使用 WebForms,我的代码后面生成了一个 HtmlSelect:

HtmlSelect teamfilter = new HtmlSelect();
teamfilter.ID = "team_filter_" + studioId;
teamfilter.Attributes.Add("class", "col-md-9");
teamfilter.Attributes.Add("multiple", "true");

ListItem listItem = new ListItem("All " + studioName, "studio_" + studioId);
listItem.Attributes.Add("data-type", "studio");
teamfilter.Items.Add(listItem);

在客户端,我使用了一个插件,它允许使用标签将 ListItems 与列表中的 header 分组。换句话说,呈现的 HTML 必须显示为:

<select id="blah">
    <optgroup label="Games">
        <option value="1">One</option>
        <option value="2">Two</option>
    </optgroup>
</select>

我需要在后面的代码中使用 HtmlSelect class 和 ListItem class 生成这个 Select 但是我如何添加一个项目以便它呈现开始和结束 optgroup 标签?

我认为你不能仅在代码隐藏中做到这一点。

保留生成 HtmlSelect 的代码

$("select[id='blah'] option").wrap("<optgroup label='Games'></<optgroup>");