C# 更改代码以呈现回车符和换行符
我在SQL Server数据库中有一个文本,其中包含C# 更改代码以呈现回车符和换行符,c#,asp.net,.net,C#,Asp.net,.net,我在SQL Server数据库中有一个文本,其中包含新行字符和回车字符。当我将这个值赋给一个字符串变量时,我可以看到这些换行符和回车符,如第一个屏幕截图所示。但渲染时,这些值不存在(如第二个屏幕截图所示) 如何在gridview中使用以下代码呈现换行符和回车符 代码 protected void Page_Load(object sender, EventArgs e) { List<Account> result = new List<Account>();
新行字符
和回车字符
。当我将这个值赋给一个字符串变量时,我可以看到这些换行符和回车符,如第一个屏幕截图所示。但渲染时,这些值不存在(如第二个屏幕截图所示)
如何在gridview中使用以下代码呈现换行符和回车符
代码
protected void Page_Load(object sender, EventArgs e)
{
List<Account> result = new List<Account>();
string value = DisplayTest("Daily Tax Updates:\r\n");
Account acc = new Account(){Description = value};
result.Add(acc);
grdFinancialAmount.DataSource = result;
grdFinancialAmount.DataBind();
}
public class Account
{
public string Description { get; set; }
}
private static string DisplayTest(string searchValue)
{
string test = String.Empty;
string connectionString = "Data Source=.;Initial Catalog=LibraryReservationSystem;Integrated Security=True;Connect Timeout=30";
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
string commandText = @"SELECT AccountType,*
FROM Account
WHERE AccountType LIKE @input ESCAPE '\'";
using (SqlCommand command = new SqlCommand(commandText, connection))
{
command.CommandType = System.Data.CommandType.Text;
command.Parameters.AddWithValue("@input", "%" + searchValue + "%");
using (SqlDataReader reader = command.ExecuteReader())
{
if (reader.HasRows)
{
while (reader.Read())
{
test = reader.GetString(0);
}
}
}
}
}
return test;
}
受保护的无效页面加载(对象发送方,事件参数e)
{
列表结果=新列表();
字符串值=DisplayTest(“每日税务更新:\r\n”);
Account acc=新帐户(){Description=value};
结果:添加(acc);
grdFinancialAmount.DataSource=结果;
grdFinancialAmount.DataBind();
}
公共类帐户
{
公共字符串说明{get;set;}
}
私有静态字符串显示测试(字符串搜索值)
{
string test=string.Empty;
string connectionString=“数据源=;初始目录=LibraryReservationSystem;集成安全性=True;连接超时=30”;
使用(SqlConnection连接=新的SqlConnection(connectionString))
{
connection.Open();
string commandText=@“选择帐户类型,*
从帐户
其中AccountType类似于@input ESCAPE'\';
使用(SqlCommand=newsqlcommand(commandText,connection))
{
command.CommandType=System.Data.CommandType.Text;
command.Parameters.AddWithValue(“@input”、“%”+searchValue+“%”);
使用(SqlDataReader=command.ExecuteReader())
{
if(reader.HasRows)
{
while(reader.Read())
{
test=reader.GetString(0);
}
}
}
}
}
回归试验;
}
标记
<asp:GridView ID="grdFinancialAmount" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:TemplateField HeaderText="Text">
<ItemTemplate>
<%# Eval("Description")%>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
来自数据库的变量值
渲染值
将
\r\n
替换为\\r\\n
应该可以正常工作
我错误地解释了这一点,我认为您希望显示\r\n
而不是字符返回,但正如注释所述,替换为
string.Replace("\r\n", "<br/>");
string.Replace(“\r\n”和“
”);
将\r\n
替换为\\r\\n
应该可以正常工作
我错误地解释了这一点,我认为您希望显示\r\n
而不是字符返回,但正如注释所述,替换为
string.Replace("\r\n", "<br/>");
string.Replace(“\r\n”和“
”);
您的渲染值是html。将\r\n
放入html可能会更改源html,但对呈现的内容绝对没有影响
可以通过在渲染窗口上执行“查看源”来验证这一点
这里的一种方法是,在渲染之前,将所有出现的\r\n
替换为
,这是一种硬线中断
或者,您可以在字符串的前面添加一个标记,在字符串的末尾添加一个标记,然后将所有出现的\r\n
替换为
,即将其拆分为段落。这可能是两种方法中比较优雅的一种
这里还有其他选项,您只需要知道您需要将crlf字符翻译成html可以理解的内容。您的渲染值是html。将\r\n
放入html可能会更改源html,但对呈现的内容绝对没有影响
可以通过在渲染窗口上执行“查看源”来验证这一点
这里的一种方法是,在渲染之前,将所有出现的\r\n
替换为
,这是一种硬线中断
或者,您可以在字符串的前面添加一个标记,在字符串的末尾添加一个标记,然后将所有出现的\r\n
替换为
,即将其拆分为段落。这可能是两种方法中比较优雅的一种
这里还有其他选项,您只需要知道您需要将crlf字符翻译成html可以理解的内容。您可以尝试字符串。用
替换\r\n
上的字符串。将其放入一个字符串中,您可以尝试字符串。替换()
在\r\n
上使用
将其放入