首页  ·  知识 ·  前端
实现分行输出的javascript代码
flashlm  http://www.cnblogs.com/flashlm/  综合  编辑:dezai  图片来源:网络
有的时候整个网站都需要通过框架来访问,但某些应该在框架里显示才合理的页面经常会单独显示(如从新窗口中打开、从外部网站链接进来等情况)。

有的时候整个网站都需要通过框架来访问,但某些应该在框架里显示才合理的页面经常会单独显示(如从新窗口中打开、从外部网站链接进来等情况)。
  今天想到了一个办法处理,在此分享。

在c#里只要在字符串前加上@符号,变可以让字符串随意换行,如下代码所示:


Code
string stroutput=string.Format(@"


                   
                       
                   
                   
                       
                   
                   
                       
                   
                   
                       
                   
                   
                       
                   
                   
 你好!{0}  [ 个人信息退出 ]
 积分:{2} 
 等级:{3}

 新短消息 {4}收藏夹管理
", string.IsNullOrEmpty(userInfo.Nickname) ? userInfo.Username : userInfo.Nickname, userInfo.Password.Substring(4, 8).Trim(), userInfo.Credits, UserGroups.GetUserGroupInfo(userInfo.Groupid).Grouptitle, userInfo.Newpmcount, Urls.UserInfoAspxRewrite(userInfo.Uid));
  而javascript里是不支持字符串的换行的,所以要将stroutput这个字符串输出通常需要一行一行来,在这我用了string.Split的方法来实现避免一行一行的手工输出:

输出方法
        private void write(HttpContext context, string line)
        {
            line = line.Remove(line.Length - 1, 1);
            context.Response.Write(string.Format("document.write(\"{0}\");\r\n",line));
        }

 

处理
                   string stroutput=string.Format(@"


                   
                       
                   
                   
                       
                   
                   
                       
                   
                   
                       
                   
                   
                       
                   
                   
 你好!{0}  [ 个人信息退出 ]
 积分:{2} 
 等级:{3}

 新短消息 {4}收藏夹管理
", string.IsNullOrEmpty(userInfo.Nickname) ? userInfo.Username : userInfo.Nickname, userInfo.Password.Substring(4, 8).Trim(), userInfo.Credits, UserGroups.GetUserGroupInfo(userInfo.Groupid).Grouptitle, userInfo.Newpmcount, Urls.UserInfoAspxRewrite(userInfo.Uid));
                    string[] aroutput =stroutput.Split('\n');
                    foreach (string temp in aroutput)
                    {
                        write(context, temp);
                    }

 

 原理就是利用回车换行符来分割字符串,达到分行输出的目的

本文作者:flashlm 来源:http://www.cnblogs.com/flashlm/
CIO之家 www.ciozj.com 微信公众号:imciow
   
免责声明:本站转载此文章旨在分享信息,不代表对其内容的完全认同。文章来源已尽可能注明,若涉及版权问题,请及时与我们联系,我们将积极配合处理。同时,我们无法对文章内容的真实性、准确性及完整性进行完全保证,对于因文章内容而产生的任何后果,本账号不承担法律责任。转载仅出于传播目的,读者应自行对内容进行核实与判断。请谨慎参考文章信息,一切责任由读者自行承担。
延伸阅读