器后系统自动清空ViewState对象中的数据。
在传值中View2State将每个服务器端控件的数据编码并保存在一个浏览器的隐藏窗体域里如C1记录上一次问页面的URL地址C2通过访问C1中ViewState保留值返回到C1页面。
源页面C1代码片段:HyperLink超连接为:Nav2igateUrl:C2.aspxprivatevoidPage_LoadobjectsenderSystem.EventArgse//在此处放置用户代码以初始化页面ifPage.IsPostBackViewStateBackUrlRequest.UrlReferrer.ToString//ViewState记录当前URL值C1以记事本打开HTML即页面E1的查看源代码时ViewState隐藏值:目标页面C2代码片段:返回按钮代码privatevoidLinkButton1_ClickobjectsenderSystem.EventArgseifViewStateBackUrlnullResponse.RedirectViewStateBackUrl.ToString//提取ViewState记录的URL值2.2通过对象方法及属性实现传值1Server.Transfer传值。
该方法是面向对象的一种简洁方法在源页面创建返回值的Get属性通过按钮单击事件调用Server.Transfer方法转移到指定的目标页面同时在目标页面通过上下文类HttpContext对象的Context.Han2dler属性获得源页面实例对象的引用从而提取源页面控件的值实现值的传递。
其源页面D1代码片段:privatevoidPage_LoadobjectsenderSystem.EventArgse//在此处放置用户代码以初始化页面publicstringuseridgetreturnTextBox1.Text//在此创建返回值的GET属性publicstringEmailgetreturnTextBox2.TextprivatevoidButton1_ClickobjectsenderSystem.Even2tArgseServer.TransferD2.aspxtrue目标页面D2代码片段:privatevoidPage_LoadobjectsenderSystem.EventArgseD1ddContext.HandlerasD1//源页面实例的引用Label1.Textd.userid//提取源页面控件的值Label2.Textd.Email//提取源页面控件的值2Request.QueryString实现传值。
对象HttpRequesty主要是在Web请求期间从客户端取到相应的Http数据该对象是Page对象的一个成员故在任何地方不需说明也可直接使用。
Request的QueryString或Params属性是从网页的地址栏获取所传递的值或参数。
在源页面以串形式str1记录要传递的值并通过地址栏传递到目标页面在目标页面以Request.QueryString获取参数。
其中Server.UrlEncode是对要传递的值进行编码这样可以提高站点的安全性。
其源页面E1代码片段如下:privatevoidPage_LoadobjectsenderSystem.EventArgse//在此处放置用户代码以初始化页面privatevoidButton1_ClickobjectsenderSystem.Even2tArgsestringstr1//str1W2.aspxuseridServer.UrlEncodeText2Box1.TextEmailServer.UrlEncodeTextBox2.Text//Response.Redirectstr1//目标页面E2代码片段如下:privatevoidPage_LoadobjectsenderSystem.EventArgse//在此处放置用户代码以初始化页面Response.Writerequest所传递的值用户ID为:Re2quest.ParamsTextBox1Response.Writerequest所传递的值用户邮箱为:Re2quest.ParamsTextBox2Label1.TextRequest.QueryStringuseridLabel2.TextRequest.QueryStringEmail3 传值方法比较在以上传值方法中Appliction和Session对象是全局性的Appliction是多用户共有的容器Session是被某个用户独占的ViewState可以看着某个页面的局部变量大量的使用也会增加应用系统开销从而降低其效率6。
而后两种使用方法较灵活Server.Transfer传值是在服务器端完成并没有到客户端它是通过创建源页类的实例变量然后可以向其分配Http对象ihttphandler类的一个实例即接收初始请求的对象。
这样传值的好处在于不像Session一样使用内存特别适合大数据的情况其实这不能称传值Request.QueryString通过字符串由URL传值只能传送约1024B大小的参数同时它存在着传递参数安全性的问题。
在实际应用过程中要适时灵活运用就会事半功倍。
4 结束语本文探讨了ASP.NET多层结构下页面之间值传递的几种方法针对不同传值方法给出了具体实例同时分析了不同方法的使用情况每种方法都有其优2012-05-212012-05-212012-05-212012-05-212012-05-212012-05-21106 计 算 机 与 现 代 化2008年第7期缺点实验证明以上所探讨的传值方法有较高传值效率和精度。
当然如果所需参数与数据库和封装类相关还可以在以上传值方法的基础上只传主键标识参数7。
其它相关值可以通过主键从数据库中取得或上下文类中提取ASP.NET页面间的传值方法还有待进一步深入探讨和研究8。
参考文献:1 丁昊凯许静雯蔡黎文等.ASP.NET网站开发M.北京:电子工业出版社2006.2 美JeffProsise.ProgrammingMicrosoft.NET程序设计技术内幕M.北京:清华大学出版社2003.3 美ChristianNagelBillEvjen.ProfessionalC2005M.北京:清华大学出版社2006.4 ChrisPayne.ASP.NET从入门到精通M.赵斌张滨义董清波译.北京:人民邮电出版社2002.5 苏贵洋黄穗何莉等.ASP.NET网络编程M.北京:电子工业出版社2006.6 钟世芬 荣其孙彪等.ASP.NET中参数传值的综合使用J.计算机应用研究200411:2122214.7 郑耀东蔡骞.ASP.NET网络数据库开发M.北京:清华大学出版社2006.8 邵丽萍肖世德.新一代Web开发技术ASP.NET的发展与探析J.微计算机信息200521l:1902192.上接第71页通滤波和同态滤波等功能。
同态滤波用于消除图像上照明不均的问题增强暗区的图像细节同时又不损失亮区的图像细节627。
细节对比度差分辨不清的图像用同态滤波器处理后图像画面亮度比较均匀细节得以增强。
图5为同态滤波实例。
图像的亮度范围得到压缩而对比度得到增强。
图5 同态滤波实例在彩色增强中包括伪彩色增强和真彩色增强。
伪彩色的增强方法有很多种常用的有亮度切割法、彩色变换法和频域滤波法。
亮度切割法可看作是用一个分段线性函数实现从灰度到彩色的变换彩色变换法则用一个非线性的变换函数所以亮度切割法也可看作是彩色变换法的一个特例。
频域滤波法是把图像变换到频域进行一系列处理之后再将其还原使图像实现从灰度到彩色的变换。
真彩色增强方法本文采用一种最常用的即将图像从RGB分量图转换为HIS分量图之后将I分量增强最后再将其转换回RGB。
图6为真彩色增强实例。
3 结束语本文以图像增强为例介绍了用MATLAB的GUI设计数字图像处理课件的方法从中可以看到利用MATLAB制作课件是很方便的对课件开发者来说所要做的是对界面的设计和不同功能回调函数的编写。
将数字图像处理课件引入教学可以使学生直观地了图6 真彩色增强实例解数字图像处理的实质加深对数字图像处理的理解使教学与实验有机地结合起来有助于改善教学的薄弱环节并可以作为实验内容的补充解决实验设备有限、实验学时不足等问题。
参考文献:1 郭南.一种使用MATLAB制作CAI课件的方法J.沈阳电力高等专科学校学报200354:34236.2 孙兆林.MATLAB6.x图像处理M.北京:清华大学出版社2002.3 陈文海徐育育.基于MATLAB图形用户界面的CAI课件设计J.温州师范学院学报2003245:86289.4 章毓晋.图像处理和分析M.北京:清华大学出版社1999.5 涂望明魏友国施少敏.MATLAB在数字图像处理中的应用J.微计算机信息2007232:2992300.6 尹凤领霍丙全.图像处理技术的MATLAB实现J.科技信息20075:41242.7 冯安五希常.MATLAB在数字图像增强中的应用J.信息技术20075:65268.2012-05-212012-05-212012-05-212012-05-212012-05-212012-05-21 专 业 推 荐 ↓ 精 品 文 档
上一篇:
C#操作IIS7程序池新建站点站点配置
下一篇:
土木工程专业毕业设计教学改革探讨