1.<%@Page%>中的Codebehind、AutoEventWireup、Inherits有何作用?
AutoEventWireup:指示该页的事件是否为自动连网的。如果启用事件自动连网,则为 true;否则,为
false。
Inherits: 定义供页继承的代码隐藏类。可以是从 Page
类派生的任何类。
Codebehind:代码绑定文件的名称
Codebehind:代码绑定文件的名称
2. 缓存的几种不同的实现方法?
(1)Cache 对象缓存
Cache 对象提供代码级的缓存,功能强大,可操作性强。更新这种缓存的方法很简单,只要调用 Cache.Remove(key)
方法就可以清除指定的缓存。代码如下:HttpRuntime2)页面级缓存 OutputCache
(2)页面级缓存 OutputCache
相对 Cache 对象,页面级的 OutputCache 的使用要容易得多,且无需改动页面代码,只要在页面顶部增加 <%@ OutputCache %> 声明就可以缓存当前页的所有内容。当然有利必有弊,OutputCache 只提供有限的几个参数,当需要清除缓存时就不如 Cache 对象那么灵活。不过仍然有办法,.Net 提供了 RemoveOutputCacheItem() 方法来清空页面级输出缓存,使用方法如下:HttpResponse.RemoveOutputCacheItem(fname); //fname 是待清除缓存页面的绝对路径,如 /article/read.aspx.Cache.Remove(cacheEnmu.Key.ToString());
(3)用户控件级缓存 OutputCache
用户控件级缓存和页面级缓存类似,不同的是可以只缓存页面局部的用户控件,对于不需要整页缓存的页面来说是种不错的解决方案。可是清空页面缓存的 RemoveOutputCacheItem() 方法对用户控件却无效。查阅了很多资料,结论是 .net 没有提供直接清空用户控件输出缓存的方法。
(4)iframe 中的缓存问题
嵌入 iframe 或网页模式对话框中的页面会自动产生输出缓存,导致内部页不能实时,这是IE自带的缓存机制,严格来说与 ASP.Net 无关。不过在
.Net 中我们可以通过简单的代码解决这个问题。
在程序的开头部分加入下面的代码,可以设置 HTTP 请求立刻更新,阻止 IE 对页面进行缓存。
Response.Expires = -1;
常见的缓存问题就是以上四种
3.怎样计算页面执行的时间?
在new页面的时候新建一个StopWatch,在Render的时候输出内容。。不过常规情况下这个不算很精确。
精确的是在 Global.asax
里面的 BeginRequest和 EndRequest里面分别开始计时和结束计时。
4. 什么是AJAX
ajax是通过异步传送实现页面局部更新的客户端技术,ASP.NET AJAX 是对 ajax 进一步封装后的基于服务器技术的架构。
ajax是通过异步传送实现页面局部更新的客户端技术,ASP.NET AJAX 是对 ajax 进一步封装后的基于服务器技术的架构。
5.用自己的语言描述一下程序连接数据库的过程。
就跟打电话一样,先拨号,接,通话,对方接电话,说或者聊话,最后挂电话(双方挂电话)。
就跟打电话一样,先拨号,接,通话,对方接电话,说或者聊话,最后挂电话(双方挂电话)。