有的时候整个网站都需要通过框架来访问,但某些应该在框架里显示才合理的页面经常会单独显示(如从新窗口中打开、从外部网站链接进来等情况)。
今天想到了一个办法处理,在此分享。
在c#里只要在字符串前加上@符号,变可以让字符串随意换行,如下代码所示:
Code
string stroutput=string.Format(@"
", 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(@"
", 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