ASP.NET—Server属性
1. Server.MapPath()
它和Request.MapPath是一样的,都是获得文件的物理路径
2. Server.Execute()
它和<iframe></iframe>
标签的效果是一样的,不同的是:Server.Execute()利于SEO优化,而<iframe>
标签不利于SEO优化
★ 一般用Server.Execute(),什么时候用<iframe>
呢?
当网站不需要在搜索引擎上排名靠前的话,比如内部网站可以用<iframe>
标签
3. Server.transfer()
Server.transfer()和Server.Execute()的效果也是一样的,Server.transfer()是重定向
★ Server.transfer()和Response.redirect()的不同在哪里呢?
Server.transfer()和Response.redirect()不同的是:Server.transfer()是在服务器内部跳转,浏览器的地址栏不会变化;而Response.redirect()是服务器向浏览器发送302重定向标识,浏览器再去请求新的地址,浏览器的地址栏会有变化。Server.transfer()比Response.redirect()的执行效率要快,但是我们一般用Response.redirect()
★ <!-- -->
注释和<%-- --%>
注释有什么区别?
<%-- --%>
是服务器端的一种注释,在返回的html页面中不会显示,而<!-- -->
这种注释会显示在返回给浏览器的html页面中,如果注释内容太多的话,会影响页面执行效率,所以我们要尽量用<%-- --%>
这种注释
4. Server.htmlEncode()
Server.htmlEncode()将页面中的文本编码,用于什么地方呢?
比如:发表评论,如果用户在评论中写上一段JavaScript脚本,用于重定向到别的网站,如果不加以编码,那么别人在访问自己的网站时,就会重定向到别的网站,这叫做“跨站攻击”,而编码之后就不会发生这样的事情,使得浏览器将不再渲染编码后的html代码
5. Server.UrlEncode()
Server.UrlEncode()方法用于url地址编码,当地址栏出现乱码或异常情况时可先尝试用此方法解决。