Помогите с методом для HTMLdecode DropDownLists Пожалуйста - PullRequest
1 голос
/ 21 августа 2009

У меня есть несколько DropDownLists в форме, которые динамически заполняются при перемещении вниз по форме, извлекая данные из БД. Все данные закодированы HTMLE, поэтому мне нужно HTMLДекодировать данные для отображения текста.

Я создал метод, чтобы сделать это и вызвать его 'ondatabound' для каждого DDL

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 ]

1 голос
/ 21 августа 2009

IIRC, отправитель события является фактическим элементом управления, поэтому вы также можете сказать

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

и связать каждое событие DataBound DropDownList с SortHTML

1 голос
/ 21 августа 2009

Почему вы не можете создать подкласс элемента управления DropDownList, чтобы сделать это до того, как он отобразит элемент управления? Тогда вместо использования стандартного DropDownList вы используете свой выпадающий список с подклассами, и функциональность происходит автоматически.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...