我用DetailView显示数据,详细介绍的那个字段是大段的文章,如何把回车、空格等显示出来呢?同时把一些会有安全隐患的字符给屏蔽或者替换掉呢?<ItemTemplate>
<asp:Label ID="HotelDetail" runat="server" Text='<%# Bind("HotelDetail") %>'></asp:Label>
</ItemTemplate>

解决方案 »

  1.   

    什么是html的回车、空格呢?而你的 HotelDetail 中保存的是 html 吗?在你的桌面上创建一个 .htm 后缀的文件,使用记事本打开,把下面这几句话贴进去:<span style="color:red">你</span>
    看到了
    回车
    <span style="color:Green;font-size:1.5cm">了</span>
    吗?你看到回车了吗?
      

  2.   

    replace(chr(13),"<BR>")
    replace(" ","&nbsp;")
    replace("<",......好多特殊字符啊,做个方法吧function uxstr(str)
      str=str.replace(chr(13),"<BR>")
      str=str.replace(" ......  
    end function.net也有可能有现成的类似的函数,反正我都是自己写
      

  3.   


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

  4.   

    把 \r \n 这些东西都换成 <BR>或者 </p><p>就可以了 开头和结尾加上对应的P
      

  5.   

    字符串替换
    用Literal控件输出
      

  6.   

    to uxeir(磕打小子) :
    我写了一个方法filterstr,如何在下面的代码里调用方法呢?
    <ItemTemplate>
    <asp:Label ID="HotelDetail" runat="server" Text='<%# Bind("HotelDetail") %>'></asp:Label>
    </ItemTemplate>
      

  7.   

    String.Format()
    String.Replace()个人见解,共同学习
      

  8.   

    我写了一个方法filterstr,如何在下面的代码里调用方法呢?
    <ItemTemplate>
    <asp:Label ID="HotelDetail" runat="server" Text='<%# Bind("HotelDetail") %>'></asp:Label>
    </ItemTemplate>
      

  9.   

    这段的语法我不太了解了,我都是放到后台.cs的DataBind方法中的做数据处理的,有时甚至DataGrid我都是手工绘制的,我是从ASP过来的
      

  10.   

    怎么不在存入库中时替换呢?可以这样:
    <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;
    }这样就可以了
      

  11.   

    wqxhome:别入库替换了,以后检索什么的都麻烦