日期:2014-05-19  浏览次数:20754 次

如何在Label里显示回车、空格等...
我用DetailView显示数据,详细介绍的那个字段是大段的文章,如何把回车、空格等显示出来呢?同时把一些会有安全隐患的字符给屏蔽或者替换掉呢?

<ItemTemplate>
<asp:Label   ID= "HotelDetail "   runat= "server "   Text= ' <%#   Bind( "HotelDetail ")   %> '> </asp:Label>
</ItemTemplate>



------解决方案--------------------
什么是html的回车、空格呢?而你的 HotelDetail 中保存的是 html 吗?

在你的桌面上创建一个 .htm 后缀的文件,使用记事本打开,把下面这几句话贴进去:

<span style= "color:red "> 你 </span>
看到了
回车
<span style= "color:Green;font-size:1.5cm "> 了 </span>
吗?

你看到回车了吗?
------解决方案--------------------
replace(chr(13), " <BR> ")
replace( " ", "&nbsp; ")
replace( " < ",......好多特殊字符啊,做个方法吧

function uxstr(str)
str=str.replace(chr(13), " <BR> ")
str=str.replace( " ......
end function

.net也有可能有现成的类似的函数,反正我都是自己写
------解决方案--------------------

Label1_PreRender(object sender, EventArgs e)
{
contents=replace(contents,chr(10), " ")
contents=replace(contents,chr(13), " ")

}
------解决方案--------------------
把 \r \n 这些东西都换成 <BR> 或者 </p> <p> 就可以了 开头和结尾加上对应的P
------解决方案--------------------
字符串替换
用Literal控件输出
------解决方案--------------------
String.Format()
String.Replace()

个人见解,共同学习
------解决方案--------------------
怎么不在存入库中时替换呢?

可以这样:
<ItemTemplate>
<asp:Label ID= "HotelDetail " runat= "server " Text= ' <%# GetHtmlString(DataBinder.Eval( "HotelDetail ")) %> '> </asp:Label>
</ItemTemplate>

在cs中实现:
public string GetHtmlString(object strObject)
{
string str=strObject.ToString();
str=str.Replace( " ", "&nbsp; ");
str=str.Replace( "\r\n ", " <br /> ");
return str;
}

这样就可以了
------解决方案--------------------
label.innerHTML

------解决方案--------------------
/转意字符