asp.net后台传值html到前台并按html格式显示 ?

代码如下 :
cs:
if(dt.Rows.Count>0)
{
recordContent=HttpUtility.HtmlDecode(dt.Rows[0]["dept_remark"].ToString());
}
string showContent = recordContent.Length == 0 ? "暂无@_@" : ToBig(recordContent).Replace(" ", "");
HtmlTableCell Remarktd = e.Item.FindControl("Remarktd") as HtmlTableCell;

Remarktd.Attributes.Add("onmouseover", "this.oldcolor=this.style.backgroundColor;this.style.backgroundColor='#C8F7FF';");
Remarktd.Attributes.Add("onmousemove","Show('" + showContent + "');");
Remarktd.Attributes.Add("onmouseout", "this.style.backgroundColor=this.oldcolor;Hide();");
JS:
function Show(RecordContent)
{
document.getElementById("tdRemark").innerHTML=RecordContent;
//获得滑鼠的X轴的座标
x = event.clientX + document.body.scrollLeft;
//获得滑鼠的Y轴的座标
y = event.clientY + document.body.scrollTop +20;
//显示弹出表单
Popup.style.display="block";
//设置表单的X,Y轴的座标
Popup.style.left = x;
Popup.style.top = y;
}
Remarktd.Attributes.Add("onmousemove","Show('" + showContent + "');");
showContent 的值是:<P>xxx</P>\r\n<P> ccc</P>\r\n<P align=right>xxx</P>
传纯文字却ok,html标签被解析了 ,高手 指点

第1个回答  2012-07-03
你在Show方法中使用innerHTML用于呈现RecordContent当然会被绘制为HTML标签了,不想被解析的话,使用innerText追问

我也觉得是innerhtml这一块的问题,但是 对 js 不熟悉 ,我先试下,太感谢了

追答

不客气

追问

原始档:

onmousemove="Show('&lt;P>xxx&lt;/P>

&lt;P>&amp;nbsp;&amp;nbsp;&amp;nbsp;ccc&lt;/P>

&lt;Palign=right>xxx&lt;/P>');"

onmousemove 也没效果,显示 暂无@_@" 却 ok 

怎么 解析了 特殊 部分字符 (百度 也会解析)

 

追答

那就应该innerHTML就可以了~

追问

也不行啊,之前就用这个 也不显示,
onmousemove 也没效果,不含html标签的显示 ,暂无@_@" 却 ok

本回答被提问者和网友采纳
第2个回答  2012-07-04
前台代码弄出来看看,
tdRemark 这个Id,是哪个标签追问



把数据库的html标签格式显示在 tdRemark 格子,控制前台布局,就像x

追答

直接在后台tdRemark.Value="";就可以出来了

相似回答