0

我将以下 div 标签保存到 SQL DB 中:

String StrDiv = "<div STYLE=" + "''"+"font-family: " + lblPreviewPane.Font.Name + "; font-size: " + lblPreviewPane.Font.Size + "; color: " + ColorPicker1.Color + ""+"''" + ">" + lblPreviewPane.Text + "</div>";

以下查询用于更新消息:

String sqlUpdate = "update iweb_messages set message='" + StrDiv + 
                "'where site_id ='" + mSiteID + "' and page_id ='" + ddlSitePage.SelectedValue + "'";

我从 DB 中检索 div 并将其显示在一个文本框和一个标签中。

label中,div 标签显示为:messagetoday21

但在textbox中,div 标签显示为:

<div STYLE='font-family: Times New Roman; font-size: 18pt; color: #CC3399'>today21</div>

我还需要在文本框中单独显示文本(与标签中显示的相同)。

请帮我一些建议。

我使用下面的代码在 textbx 和标签中显示来自 DB 的文本:

String sqlMsg = "select message from iweb_messages where site_id='" + mSiteID + "' and page_id='" + ddlSitePage.SelectedValue + "'";
    DataView dvMsg = dbLib.GetDateView(sqlMsg);
    if (dvMsg.Table.Rows.Count > 0)
    {
        txtOutputMessage.Text = dvMsg.Table.Rows[0]["message"].ToString();
        lblPreviewPane.Text = dvMsg.Table.Rows[0]["message"].ToString();
    }
4

1 回答 1

0

我假设你的“文本框”是一个textarea?如果是这样,您看到的行为是预期的,因为您正在生成如下所示的 HTML:

<textarea><div STYLE='font-family.....></div></textarea>

TEXTAREA 的内容在没有 HTML 渲染的情况下显示。而标签(假设它是 aspan或 another div呈现 HTML。

因此,作为快速修复,lblPreviewPane.Text除了完整的<div>;之外,您还需要保存到数据库中。然后在文本框中显示 的值,lblPreviewPane.Text而不是<div>.

但我也会质疑将全部内容存储<div>在数据库中的智慧。如果需要提前确定字体属性,那么我认为您最好将这些属性值存储在表中,然后<div>在显示时构建格式化。

于 2013-10-21T15:39:03.253 回答