我正在使用一个 gridview,它在 edittemplate 字段中有下拉列表。下拉列表中有 3 个列表项:红色、琥珀色、绿色。我不想在列表项中显示文本,而是想显示颜色,因为我正在使用下拉列表的 onLoad 事件,但是此事件无法识别下拉列表。下拉列表设计器代码:
<asp:TemplateField HeaderText="Color">
<EditItemTemplate>
<asp:DropDownList ID="ddlcolor" runat="server" AppendDataBoundItems="true" DataTextField="COLOR" DataValueField ="COLOR" OnLoad="DDLColor_Load">
<asp:ListItem Value="-1">- Select Color -</asp:ListItem>
<asp:ListItem Value="0">Amber</asp:ListItem>
<asp:ListItem Value="1">Green</asp:ListItem>
<asp:ListItem Value="2">Red</asp:ListItem>
</asp:DropDownList></EditItemTemplate></asp:TemplateField>
代码隐藏中的下拉列表 onLoad 事件:
protected void DDLColor_Load(object sender, EventArgs e)
{
for (int i = 0; i < ddlcolor.Items.Count; i++)
{
ddlcolr.Items[i].Attributes.Add("style", "background-color:" + ddlcolor.Items[i].Text);
}
}
但是,它表明下拉列表 ddlcolor 在当前上下文中不存在。我需要在 gridview 中找到这个控件吗?请建议。