我在表单上有几个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);
}
}
你看到我的困境!太烦人了,我无法弄清楚一种方法的语法
答案 0 :(得分:1)
为什么在渲染控件之前你不能将DropDownList控件子类化呢?然后使用您的子类下拉列表而不是使用库存DropDownList,并且功能会自动发生。
答案 1 :(得分:1)
protected void SortHTML(object sender, EventArgs e)
{
foreach (ListItem item in ((DropDownList)sender).Items)
{
item.Text = Server.HtmlDecode(item.Text);
}
}
并将每个DropDownList的DataBound事件绑定到SortHTML