Если вы хотите использовать механизмы кэширования, например Redis или Memcached , возможно, выбор DALMP может быть выбран. Он использует чистый MySQLi . Проверьте это: Уровень абстракции базы данных DALMP для MySQL с использованием PHP.
Кроме того, вы можете «подготовить» свои аргументы перед подготовкой своего запроса, чтобы вы могли создавать динамические запросы и в конце имеют полностью подготовленный запрос. Уровень абстракции базы данных DALMP для MySQL с использованием PHP.
Можно ли подписаться на событие RowDataBound? Если Вы можете, можно работать:
if (e.Row.RowType == DataControlRowType.DataRow)
{
string decodedText = HttpUtility.HtmlDecode(e.Row.Cells[0].Text);
e.Row.Cells[0].Text = decodedText;
}
Нормальные новые строки сохраняются в выводе? Если так, можно отправить новые строки и использовать стиль css white-space: pre
, который сохранил бы новые строки, пробелы и вкладки.
Я решил эту проблему, сначала вставив данные в свою таблицу 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
Ответ Буйсена работает, но только для одного столбца. Если вы запускаете цикл в событии 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 из-за моих данных, но, очевидно, он будет работать со всем, что вам нужно.
Как насчет установки для свойства HtmlEncode
свойства значения false
? Для меня это намного проще.
<asp:BoundField DataField="MyColumn" HtmlEncode="False" />