Как я могу изменить элементы в моем DropDownList в ASP.NET - PullRequest
2 голосов
/ 16 августа 2011

У меня есть это, что связано в моем коде:

 <asp:DropDownList id="ddlPopulation" runat="server" DataTextField="population" DataValueField="pid" AppendDataBoundItems="True">
<asp:ListItem>Default</asp:ListItem>

Как мне изменить элементы списка в коде позади?Я хочу сделать Html_Decode и обрезать их до того, как они будут представлены пользователю?

Код DataBind:

 StringBuilder sql = new StringBuilder();

    // Define sql
    sql.Append("SELECT DISTINCT datasource ");
    sql.Append("FROM meta ");
    sql.Append("WHERE datasource != '' ");
    sql.Append("ORDER BY datasource ASC ");

    IDataReader reader = SqlHelper.GetDataReader(sql.ToString());

    ddlDatasources.DataSource = reader;
    ddlDatasources.DataBind();

1 Ответ

8 голосов
/ 16 августа 2011

Вы можете подписаться на событие DataBound DropDownList и сделать что-то вроде следующего:

<asp:DropDownList id="ddlPopulation" runat="server" DataTextField="population" DataValueField="pid" AppendDataBoundItems="True" OnDataBound="ddlPopulation_DataBound">
    </asp:DropDownList>

и

protected void ddlPopulation_DataBound(object sender, EventArgs e) {
  foreach(ListItem Item in ddlPopulation.Items){
    Item.Text = Server.HtmlDecode(Item.Text.Trim());
  }
}
...