欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【近期的几个ASP.NET开发经验总结和收集】,下面是详细的分享!
近期的几个ASP.NET开发经验总结和收集
一:页面中Page_Load事件 和 Page.IsPostBack执行两次的原因.原因一:
当<%@Page....中没有AutoEventWireup定义时会导致Page_Load执行两次,如果有定义,且值为true时,在IsPostBack中动态绑定控件等情况也会导致页面Load事件发生两次..因此,个人推荐不要忽视AutoEventWireup,且建议设置其值为 false;
原因二:
当页面中有<img src=http://www.chinaz.com/program/2008/0620/"">时,也可能会导致Page_Load执行两次,解决方法:我也唔知.
二:OnInit与OnLoad
个人理解:如果页面禁用了视图或者逻辑过程中没有用到视图或者没有必要回发数据的话,可以直接重写OnLoad方法,而不用再写OnInit方法,因为OnInit()之后还有进行一些视图方法的操作及回发数据的处理.因此直接OnLoad效率会高一些.
三:远程服务器返回500错误
过程中需要从远程服务器下载文件到本地.可一直报远程服务器返回500错误.检查来检查去,结果错误发生在本地:
原因:页面以ANSI编码保存,而本地完全路径中有中文字符,导致路径不能被程序有效识别.
解决方法:将页面编码更换成utf-8即可.VS系列中可通过高级保存选项更改.
四:Response.End,Response.Redirect等导致"正在中止线程"的问题
如果是Response.End(),可用HttpContext.Current.ApplicationInstance.CompleteRequest()来代替(据个人测试,貌似使用这句后,后边不能再有程序执行,否则仍然会继续执行下去?)
对于Response.Redirect()可用其重载方法:Response.Redirect(string,bool)
当然,Server.Execute(),Server.Transfer()情况也类似.
附上ASP.NET页面的生存周期(看明白了就知道为何有时只需要OnLoad,而不需要OnInit了)
____
一:初始化Init:初始化对象--Init事件(OnInit方法)
二:加载视图状态:LoadViewState方法
三:处理回发数据:LoadPostData方法---实际上这一步只是加载,并没有做其它的处理.
---实现该方法的控件要继承自IPostBackDataHandler接口,该接口有LoadPostData和RaisePostBackDataChangedEvent两个方法
四:加载Load:---Load事件(OnLoad方法)---该过程中所有对象都已经被实例化了..
五:发送回发更改通知:RaisePostBackDataChangedEvent方法
六:处理回发事件:IPostBackEventHandler接口的RaisePostBackEvent方法.
七:预呈现:OnPreRender方法(PreRender事件)
八:保存视图状态:SaveViewState方法
九:呈现:Render方法(--不再有对应事件)
十:处置,回收资源:Dispose方法
十一:卸载:UnLoad事件(OnUnLoad方法)..
---------Page是从Control继承的,因此它也是一种特殊的控件!
以上所分享的是关于近期的几个ASP.NET开发经验总结和收集,下面是编辑为你推荐的有价值的用户互动:
相关问题:C#(asp.net,ado.net)4年工作经验,开价10K和15K,...
答:您好,1》 ASP.NET是一种网站开发技术,C#是一种软件开发语言二者不具有可比性。 2》ASP.NET开发网站可选语言有好几种, 包括: VB, C#等.据微软声称相比较, C#语言在性能上稍微有优势。 3》C#除了可作为开发ASP.NET开发网站的语言外, 还可用作... >>详细
相关问题:现在做ASP.net的后台开发,很迷茫,求有经验的前辈...
答:想要进步很快的并且想要找到成就感,那你可以转前端。现在一个好的前段工程师往往是相比后台工程师更为或缺,而且现在软件技术已经到达了一个较为稳定且强大的水平,所以无论是开发人员还是用户关注更多的可能就是前端用户体验和交互。从qq,360... >>详细
相关问题:asp.net一年半开发经验,技术还可以,在深圳可已要...
答:一般是8k左右。 这个是左还是右,就看你的造化了。 跟你差不多,也是一年多的经验,打算换个工作,开个9k,然后让人家砍砍。 >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
