如何在保存到SQL数据库时保留换行符并检索它以显示在标签内

Sea*_*dge 2 css c# asp.net

我有一个textarea,我按下回车输入多行文字:

<asp:TextBox ID="tbMessage" runat="server" ClientIDMode="Static" 
     TextMode="MultiLine" Columns="30" Rows="5"></asp:TextBox>
Run Code Online (Sandbox Code Playgroud)

我从代码隐藏中保存文本(MessageText列是类型varchar):

using (SqlCommand qSave = new SqlCommand())
{
    qSave.Connection = oCon;
    qSave.CommandType = CommandType.Text;
    qSave.CommandText = @"INSERT INTO [Db1].[dbo].[Table1] (MessageText) VALUES (@MessageText)";
    qSave.Parameters.AddWithValue("@MessageText", tbMessage.Text);

    try
    {
        oCon.Open();
        qSave.ExecuteNonQuery();
    }
    catch (SqlException ce)
    {
    }
    finally
    {
        oCon.Close();
    }
}
Run Code Online (Sandbox Code Playgroud)

我检索列并将其显示在代码隐藏的标签内:

public void MyFunction()
{
    strSql = @"SELECT * FROM [Db1].[dbo].[Table1]";

    using (SqlConnection conn = new SqlConnection(gloString))
    {
        try
        {
            // create data adapter
            SqlDataAdapter da = new SqlDataAdapter(strSql, conn);
            // this will query your database and return the result to your datatable

            myDataSet = new DataSet();
            da.Fill(myDataSet);

            string specific = "";
            string generic = "";
            string strTemp = "";

            foreach (DataRow r in myDataSet.Tables[0].Rows)
            {
                if (r["MessageText"].ToString().Length <= 65)
                {
                    strTemp = r["MessageText"].ToString();
                }
                else
                {
                    strTemp = TruncateLongString(r["MessageText"].ToString(), 65) + "...";
                }

                specific += "<span class='hoverText tooltip' title='" + this.Server.HtmlEncode(r["MessageText"].ToString().Replace("\r\n", "<br />")) + "'>" + this.Server.HtmlEncode(strTemp) + "</span><span class='dvMsgInitHidden'>" + this.Server.HtmlEncode(r["MessageText"].ToString().Replace("\r\n", "<br />")) + "</span><br /><br />";
            }

            lblMessage.Text = specific;

            upMessage.Update();
        }
        catch (Exception ce)
        {
        }
    }
}

public string TruncateLongString(string str, int maxLength)
{
    return str.Substring(0, maxLength);
}
Run Code Online (Sandbox Code Playgroud)

正如您可以从以下屏幕截图中看到的那样title正确显示,但消息全部混杂在一行:

在此输入图像描述

请帮我解决一下.

Sea*_*dge 7

以下CSS负责:

white-space: pre-wrap;
Run Code Online (Sandbox Code Playgroud)