У меня есть веб-часть SharePoint, которую я написал на C #, которая используется для отображения данных SQL Server на основе выбора пользователя. Я извлекаю данные с помощью DataReader, заполняю им DataSet и устанавливаю этот DataSet в качестве источника данных в GridView и добавляю этот элемент управления на мою страницу:
GridView outputGrid = new GridView();
outputGrid.CssClass = "OutputGrid";
outputGrid.DataSource = flipped_ds1;
outputGrid.RowDataBound += outputGrid_RowDataBound;
outputGrid.DataBind();
Controls.Add(outputGrid);
Это дает мне простую таблицу HTML с объявленным классом CSS, и это все. Единственная проблема, с которой я сталкиваюсь, заключается в том, что разрывы строк в полях данных не отображаются вообще. Я просто получаю блок текста, который игнорирует разрывы, которые присутствуют в базе данных, когда она отображается в HTML. Проходя по моему коду, я вижу, что переводы строк появляются в виде текста в форме "\ r \ n". Я попробовал регулярное выражение:
Regex rgx = new Regex("\r\n");
string inputStr = Convert.ToString(dr[x]);
string outputStr = rgx.Replace(inputStr, "<br />");
newRow[ds3.Tables["Bobst Specs 3"].Columns[x]] = outputStr;
Хотя это обнаруживает и заменяет новые строки, я просто получаю текст "
" без разрывов строк. При просмотре исходного кода HTML вставляется следующая строка, в которой я указываю «
»:
<br />
Я также попытался изменить свой SQL-запрос на что-то вроде:
SELECT REPLACE (fldCustomerName, '. ', '.' + @NewLineChar)
Это, очевидно, делает больше новых строк. Я вижу, что они присутствуют, потому что, если я также вставлю регулярное выражение, они будут затронуты, но не будут создавать разрывы строк. Я не уверен, как их заменить и чем заставить строки на самом деле обрываться.