请帮助HTMLdecode DropDownLists的方法

时间:2009-08-21 17:55:35

标签: asp.net drop-down-menu

我在表单上有几个DropDownLists,它们在从数据库中提取数据的形式向下移动时动态填充。数据都是HTMLEncoded所以我需要HTMLDecode数据来显示文本。

我创建了一个方法来执行此操作并为每个DDL触发'ondatabound'

ondatabound="SortHTMLModel"

但是很烦人我有相同的方法只更改每个上的DDL名称。我想要一个DDL可以调用的通用单一方法。这是DDL的一个名为ddlfuel

protected void SortHTML(object sender, EventArgs e)
{
    foreach (ListItem item in ddlFuel.Items)
    {
        item.Text = Server.HtmlDecode(item.Text);
    }
}

DDL的一个名为ddlModel

protected void SortHTMLModel(object sender, EventArgs e)
{
    foreach (ListItem item in ddlModel.Items)
    {
        item.Text = Server.HtmlDecode(item.Text);
    }
}

你看到我的困境!太烦人了,我无法弄清楚一种方法的语法

2 个答案:

答案 0 :(得分:1)

为什么在渲染控件之前你不能将DropDownList控件子类化呢?然后使用您的子类下拉列表而不是使用库存DropDownList,并且功能会自动发生。

答案 1 :(得分:1)

IIRC,事件的发送者是实际的控制,所以你也可以说

protected void SortHTML(object sender, EventArgs e)
{
    foreach (ListItem item in ((DropDownList)sender).Items)
    {
        item.Text = Server.HtmlDecode(item.Text);
    }
}

并将每个DropDownList的DataBound事件绑定到SortHTML