如何更改ASP.NET中DropDownList中的项目

cdu*_*dub 2 c# asp.net databound

我有这个在我的代码背后绑定:

 <asp:DropDownList id="ddlPopulation" runat="server" DataTextField="population" DataValueField="pid" AppendDataBoundItems="True">
<asp:ListItem>Default</asp:ListItem>
Run Code Online (Sandbox Code Playgroud)

如何更改后面代码中的列表项?我想在它们呈现给用户之前做一个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();
Run Code Online (Sandbox Code Playgroud)

Dus*_*ges 8

您可以订阅DropDownList的DataBound事件,并执行以下操作:

<asp:DropDownList id="ddlPopulation" runat="server" DataTextField="population" DataValueField="pid" AppendDataBoundItems="True" OnDataBound="ddlPopulation_DataBound">
    </asp:DropDownList>
Run Code Online (Sandbox Code Playgroud)

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

  • 不幸的是,DropDownList没有ItemDataBound事件 (6认同)