在文本框中显示div标签

时间:2013-10-21 15:22:13

标签: html sql

我将以下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 + "'";

我从数据库中检索div并将其显示在文本框标签中。

标签中,div标签显示为:messagetoday21

但是在文本框中,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();
    }

1 个答案:

答案 0 :(得分:0)

我认为您的“文本框”是textarea?如果是这样,您所看到的行为是预期的,因为您生成的HTML看起来像这样:

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

显示TEXTAREA的内容而不显示HTML。而标签(假设它是span或另一个div呈现HTML。

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

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