Как представить декодируемый HTML в (т.е. <br>) в ячейке GridView

Если вы хотите использовать механизмы кэширования, например Redis или Memcached , возможно, выбор DALMP может быть выбран. Он использует чистый MySQLi . Проверьте это: Уровень абстракции базы данных DALMP для MySQL с использованием PHP.

Кроме того, вы можете «подготовить» свои аргументы перед подготовкой своего запроса, чтобы вы могли создавать динамические запросы и в конце имеют полностью подготовленный запрос. Уровень абстракции базы данных DALMP для MySQL с использованием PHP.

29
задан YOU 18 March 2011 в 12:56
поделиться

5 ответов

Можно ли подписаться на событие RowDataBound? Если Вы можете, можно работать:

if (e.Row.RowType == DataControlRowType.DataRow)
{
  string decodedText = HttpUtility.HtmlDecode(e.Row.Cells[0].Text);
  e.Row.Cells[0].Text = decodedText;
}
45
ответ дан Ray Booysen 28 November 2019 в 00:40
поделиться

Нормальные новые строки сохраняются в выводе? Если так, можно отправить новые строки и использовать стиль css white-space: pre, который сохранил бы новые строки, пробелы и вкладки.

3
ответ дан configurator 28 November 2019 в 00:40
поделиться

Я решил эту проблему, сначала вставив данные в свою таблицу sql-server из многострочного текстового поля, используя

   replace (txt = Replace(txt, vbCrLf,"<br />"))

Затем я использовал решение Рэя Бойсена для верните его в мою сетку:

 Protected Sub grdHist_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles grdHist.RowDataBound

      Dim col1 As String = HttpUtility.HtmlDecode(e.Row.Cells(2).Text)

      e.Row.Cells(2).Text = col1

End Sub
2
ответ дан 28 November 2019 в 00:40
поделиться

Ответ Буйсена работает, но только для одного столбца. Если вы запускаете цикл в событии RowDataBound, вы можете заменить переменную на [0] и, если хотите, поработать с каждым столбцом. Вот что я сделал:

protected void gridCart_RowDataBound(object sender, GridViewRowEventArgs e)
{
    for (int i = 1; i < 4; i++)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            string decode = HttpUtility.HtmlDecode(e.Row.Cells[i].Text);
            e.Row.Cells[i].Text = decode;
        }
    }
}

Мой намеренно запущен с 1 из-за моих данных, но, очевидно, он будет работать со всем, что вам нужно.

2
ответ дан 28 November 2019 в 00:40
поделиться

Как насчет установки для свойства HtmlEncode свойства значения false ? Для меня это намного проще.

<asp:BoundField DataField="MyColumn" HtmlEncode="False" />
47
ответ дан 28 November 2019 в 00:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: