注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

我只是一个人

我爱一个人

 
 
 

日志

 
 

2011年04月14日  

2011-04-14 20:57:01|  分类: 网页制作--技巧| |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

IsPostBackPage类的一个属性,返回值为一个布尔值。一般放在Page_Load事件中。当页面是第一次打开时其值为False,若当前页面为一个提交后的页面其值为True.

通俗的说就是当你的页面第一次登录时会调用if(!IsPostBack){。。。。。。}中的语句,而在此页面未被关闭之前再次进入该页面时(例如,用back<-返回该页面则{}中的语句不会再被调用;


系统的说是是否将页面再重新回传给web服务器!

函数作用是获取一个值,该值指示该页是否正为响应客户端回发而加载,或者它是否正被首次加载和访问。

记得有些邦定必须放在这里面,否则会出一些莫名的错误


public static string HtmlEncode(string theString)

{

theString = theString.Replace(">", "&gt;");

theString = theString.Replace("<", "&lt;");

theString = theString.Replace(" ", " &nbsp;");

theString = theString.Replace(" ", " &nbsp;");

theString = theString.Replace("\"", "&quot;");

theString = theString.Replace("\'", "&#39;");

theString = theString.Replace("\n", "<br/> ");

return theString;

}

第一段是转换textarea里面的特殊字符的,用处是:比如在做网页的时候,提供了一个textarea框给用户,让用户输入一个自我简介什么的,然后保存到数据库里,在保存到库里以前要做一下这样的转换,为了安全考虑,还有就是特殊字符这样转换后才能保留,不然在textarea里敲空格和回车,在保存的时候,这些是没有了的,输出到网页上会发现,什么格式都没有了。

public static string HtmlDiscode(string theString)

{

theString = theString.Replace("&gt;", ">");

theString = theString.Replace("&lt;", "<");

theString = theString.Replace("&nbsp;", " ");

theString = theString.Replace(" &nbsp;", " ");

theString = theString.Replace("&quot;", "\"");

theString = theString.Replace("&#39;", "\'");

theString = theString.Replace("<br/> ", "\n");

return theString;

}

这段段代码正好与第一段代码相反,比如,用户登录后,要修改个人简介,你要把你保存的个人简介放入到textarea里,就必须再做一次反向转换,不然会显示一些不是用户输入的字符。


public static string DealHtml(string str)

{

str = Regex.Replace(str, @"\<(img)[^>]*>|<\/(img)>", "", RegexOptions.IgnoreCase);

str = Regex.Replace(str, @"\<(table|tbody|tr|td|th|)[^>]*>|<\/(table|tbody|tr|td|th|)>", "", RegexOptions.IgnoreCase);

str = Regex.Replace(str, @"\<(div|blockquote|fieldset|legend)[^>]*>|<\/(div|blockquote|fieldset|legend)>", "", RegexOptions.IgnoreCase);

str = Regex.Replace(str, @"\<(font|i|u|h[1-9]|s)[^>]*>|<\/(font|i|u|h[1-9]|s)>", "", RegexOptions.IgnoreCase);

str = Regex.Replace(str, @"\<(style|strong)[^>]*>|<\/(style|strong)>", "", RegexOptions.IgnoreCase);

str = Regex.Replace(str, @"\<a[^>]*>|<\/a>", "", RegexOptions.IgnoreCase);

str = Regex.Replace(str, @"\<(meta|iframe|frame|span|tbody|layer)[^>]*>|<\/(iframe|frame|meta|span|tbody|layer)>", "", RegexOptions.IgnoreCase);

str = Regex.Replace(str, @"\<a[^>]*", "", RegexOptions.IgnoreCase);

return st 

这段代码是用正则表达式过滤html标记的,它提到的html标记都会被过滤掉

比如在发表文章的时候,用的是html在线编辑器,这样会让文章内容包含html代码,如果这时候,你想到网站首页上显示一部分文章内容,这个时间如果你直接截取文章内容,可能会把包含的html代码截断开,这样在首页上显示的html代码不全,会导致出现一些破碎的html代码,我们一般的做法就是把html代码过滤掉,只剩文字,这样显示出来再用css格式化,在首页上,就好看多了,这个函数,就是把str过滤成纯净的文字,不包含html的


window.location.href"、"location.href"是本页面跳转


"parent.location.href"是上一层页面跳转


"top.location.href"是最外层的页面跳转


举例说明:


如果A,B,C,D都是jsp,D是C的iframe,C是B的iframe,B是A的iframe,如果D中js这样写


"window.location.href"、"location.href":D页面跳转


"parent.location.href":C页面跳转


"top.location.href":A页面跳转


如果D页面中有form的话,


<form>:  form提交后D页面跳转


<form target="_blank">:  form提交后弹出新页面


<form target="_parent">:  form提交后C页面跳转


<form target="_top"> :  form提交后A页面跳转


 


关于页面刷新,D 页面中这样写:



"parent.location.reload();": C页面刷新  (当然,也可以使用子窗口的 opener 对象来获得父窗口的对象:window.opener.document.location.reload(); )


 


"top.location.reload();": A页面刷新


 


  评论这张
 
阅读(65)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018