zoukankan      html  css  js  c++  java
  • ASP.NET Lable中进行换行

    这个问题,应该算是很简单的问题,可说实在的,折腾了2个小时的时候,后面整出来的时候,真坑爹呢。现在把这个过程给大家,希望可以给大家一个提醒。

    一。VB.NET ASP.NET

    问题还原

    当我对一条数据进行编辑的时候,我们进入了编辑页面,比如下面页中的Work Araound字段

    我对这些字段填了一些内容。我通过回车,分成了一段一段,可是,当我们保存这个编辑页面的时候,结果如下:

    可以很清楚看到显示出来的值没有分段。显示效果很不友好。

    解决方案:

    关键字:vbCrLf(因为项目需要,所以用的是VB.NET 以及VS2005,让大家见笑了),我通过下面的代码获取到每当你回车的时候,然后我就先获取到回车符,然后再转行成“|”,这样一并存入数据库。(其实,这里有一个缺点,就是“|” 成了一个不能用的一个字符了。)

    Dim strTextArea As String = Replace(TextArea1.Value, vbCrLf, "|") 

    这句话等价于下面的:

    Dim strTextArea As String = TextArea1.Value.Replace(vbCrLf, "|") 

    接着,当我们在从数据库读取出来的时候,我们在用下面的这个替换:

    Label1.Text = strTextArea.Replace("|", "<br>")

    然后,到这里就到了基本OK了。在中间的时候绕了一下,我们貌似得到了期望的结果。

    其实,这里面还有一个问题,就是当每一条都很长的时候,就会出现下面的bug。看到没,超出的字段没有进行换行,很难看。

    这个我们需要在当前元素的父级元素加一个样式就OK啦,就是word-break:break-all,然后就会自动换行了。

    <TD style="WIDTH: 451px; word-break:break-all">
    <
    textarea id="txtReleaseNoteComment" cols="51" rows="10" runat="server" visible="false"></textarea>
    <asp:Label ID="lbl_releaseNotedComment" runat="server" Text="" Visible="False" width="450px"></asp:Label>
    </
    TD>

    显示的结果如下:

    点评:感觉,绕了一个弯似的。可是,就先这么用着吧,反正先提交再说!

    二。C# ASP.NET的情况呢

    那处理就简单多了呢。环境:VS 2010

    测试代码:

     <asp:TextBox ID="TextBox1" runat="server" Height="105px" TextMode="MultiLine" 
            Width="320px"></asp:TextBox>
        <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />
        <br />
        <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>

    然后,我们在Button那设置一个断点,

    看上面,我没有设置什么,就自动的识别了 换行符号:\r\n,那接下来就很好处理了:

     protected void Button1_Click(object sender, EventArgs e)
            {
                Label1.Text = TextBox1.Text.Replace("\r\n", "<br>");
            }

    就OK啦。

    就可以了。

    三。Winform

    那在Winform中呢,那就更简单了,你都不需要处理,把的值直接赋值到textbox就OK啦。

    label1.Text = textBox1.Text;

    诶。你不得不感慨技术的先进哦。。。。

    作者:Lanny☆兰东才
    出处:http://www.cnblogs.com/damonlan
    Q Q:*********
    E_mail:Damon_lan@163.com or Dongcai.lan@hp.com

    本博文欢迎大家浏览和转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,在『参考』的文章中,我会表明参考的文章来源,尊重他人版权。若您发现我侵犯了您的版权,请及时与我联系。

  • 相关阅读:
    CentOS创建vsftp进行读写操作的简单方法
    [知乎]经典古诗词
    js仿手机端九宫格登录功能
    Android Studio 小技巧合集
    Android MVPR 架构模式
    剖析OkHttp缓存机制
    Java Observable 模式
    使用Rxjava缓存请求
    ThreadPoolExecutor使用和思考(上)-线程池大小设置与BlockingQueue的三种实现区别
    ThreadPoolExecutor使用介绍
  • 原文地址:https://www.cnblogs.com/damonlan/p/2776149.html
Copyright © 2011-2022 走看看