--在子页面设置模板页的图片:
( this.Master.FindControl(“imgHead”) as Image ).ImageUrl = “upload/image1.jpg” ;
文件的路径是以模板页为中心。 ~/upload/image1.jpg
~ 只使用于服务器端控件:
普通控件可以调用 ResolveClientUrl ResolveUrl 进行虚拟路径的转换。
内部重定向:会将当前页的上下文对象传向目标页面的对象,但是在目标页面中无法确定为目标页面的IspostBack 回传动作。所以不会执行目标页面的控件事件。
server属性:
Mapath 取得文件的物理路径
HtmlEncode方法和HtmlDecode 方法,将文本编码成可以在浏览器中可正确浏览的格式
显示的是代码的格式
UrlEncode方法和UrlDecode 方法,URL编码和解码
Server.Excute 执行其他页面: 内部重定向会转交上下文对象
Server.Execute("AjaxTest.aspx"); 先执行其他页面,再执行当前页面
Server.Transfer("AjaxTest.aspx"); 执行到Transfer就不继续向下执行了
放在Transfer之前的内容可以输出出来
Request.Form[“name”];
设置页面是否使用自动事件注册机制:AutoEventWireup=”true”
服务器端的IsPostBack 是否生效就是看表单中是否存在一个隐藏域,名字为__VIEWSTATE
<input type=”hidden” name=” __VIEWSTATE” value=”” />
只要浏览器发送到服务器的请求报文中是否包含名为__VIEWSTATE的参数。就会把当前页面对象的IsPostBack属性设为true
设置不让客户端缓存:
HttpContext.Response.Cache.SetCacheability(HttpCacheability.NoCache);
---------------------------2013-11-27------------------------------
在aspx页面中可以用 HttpContext.Current.Server.GetLastErroe() 拿到异常对象。然后用Log4Net 记录到日志中
URL重写,伪静态,SEO搜索引擎优化:
原理:在Global.asax的Application_BegainRequest中读取Request.Url得到请求的URL,然后用HttpContext.Current.RewritePath(ReWriteUrl)进行重写。
也可以使用微软的URLRewrite,只要修改配置文件就可以进行URL重写。
Regex reg = new Regex(@".+View-(d+).aspx");
var match = reg.Match(Httpcontext.Current.Request.Url.AbsolutePath);
if(match.Success)//判断是否符合需要进行URL重写的页面
{
string id = match.Group[1].Value;
HttpContext.Current.RewritePath("View.aspx?id="+id); //当前请求的参数
}