Trim()去掉的不仅仅是空格

在实际项目中发现Trim()方法不仅仅是去空格这么简单。因为一个看似简单的空格,就可以影响到整个程序的功能和程序的效率。下面就让我把自己在项目中遇到的一些小问题以及如何解决这些问题的经过拿出来和大家共同分享一下吧:


我们想要的效果是:如果数据库中没有指或者值为空时,则将其蓝色区域的图像隐藏。否则将数据库中的值显示在蓝色区域中。

通过上图,大家明显可以看到,所显示的Solution这一个蓝色的区域中明显存在一个<br>转行,也就是读取出来了空值。这是因为在程序的代码中添加了这样的几行代码:

lblProblem.Text += iproblem.Content + "<br/>"br所在的区域放置了一个文本框,我们把从数据库中读取出来的值赋给这个文本框,如果数据库存在一条数据值,则显示一条,存在一条以上则换行显示。问题就出在这里,如果数据库里面保存了空字符串,或者是换行的字符串。则会将其取出并赋值给文本框。如此一来就达不到我们想要的效果了。我们可以通过以下代码处理:

List<EProblem> eproblemList = new List<EProblem>();
                    foreach (EProblem iproblem in item.EProblem)
                    {
                        if (!string.IsNullOrEmpty(iproblem.Content.Trim()))
                        {
                            eproblemList.Add(iproblem);
                            lblProblem.Text += iproblem.Content + "<br/>";
                        }
                        else
                        {
                            problemCount++;
                        }
                    }
                    #endregion

                    #region Cause 绑定
                    List<ECause> causeList = new List<ECause>();
                    foreach (ECause icause in item.ECause)
                    {
                        if (!string.IsNullOrEmpty(icause.Content.Trim()))
                        {
                            causeList.Add(icause);
                            lblCause.Text += icause.Content + "<br/>";
                        }
                        else
                        {
                            causeCount++;
                        }
                    }

                    #endregion

                    #region Solution 绑定
                    List<ESolution> solutionList = new List<ESolution>();
                    foreach (ESolution isolution in item.ESolution)
                    {
                        if (!string.IsNullOrEmpty(isolution.Content.Trim()))
                        {
                            solutionList.Add(isolution);
                            lblSolution.Text += isolution.Content + "<br/>";
                        }
                        else
                        {
                            solutionCount++;
                        }
                    }
                    if (item.EProblem.Count == problemCount && item.ECause.Count == causeCount && item.ESolution.Count == solutionCount)
                    {
                        this.tbProblemSolution.Visible = false;
                    }
                    #endregion
                    if (!this.h3ProcessZhuYiShiXiangJiWenTiDian.Visible&&!this.h4ZhuYiShiXiang.Visible&&!this.tbProblemSolution.Visible)
                    {
                        this.liProcessMention.Style.Add(HtmlTextWriterStyle.Display, "none");
                    }
                    #endregion

通过Trim()方法来去掉空格或者是转行,这样就可以避免出现上面的状况了。


数据库中有不为空值的时候,显示如下:


如果没有值存在的时候,显示如下;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值