Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 更改代码以呈现回车符和换行符_C#_Asp.net_.net - Fatal编程技术网

C# 更改代码以呈现回车符和换行符

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>();

我在SQL Server数据库中有一个文本,其中包含
新行字符
回车字符
。当我将这个值赋给一个字符串变量时,我可以看到这些换行符和回车符,如第一个屏幕截图所示。但渲染时,这些值不存在(如第二个屏幕截图所示)

如何在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
上使用

将其放入