• 非常实用的自定义asp.net页面基类


    看到园子里几篇文章(如:利用反射,泛型,静态方法快速获取表单值到Model)想到的。下面总结发布一个笔者在开发中常用的一个自定义BasePage类,废话不多说了,直接贴代码。
    一、BasePage类
    1、代码
    Code
    2、使用反射给控件赋值
    根据id取一个员工(Employee),Employee类继承自BaseObj类,根据这个客户对象给页面控件赋值:
    Code
    3、使用反射给对象赋值
    点击”测试”按钮,将页面控件(runat=server)的值赋给实体对象:
    Code
    总结:
    (1)、对于页面中控件较多的情况,这个类里的反射取值和赋值的方法还是很有用的(比较恶心的是你要哼唧哼唧地对照实体类给页面控件命名。kao,实体类有代码生成器自动生成我就忍了,页面控件还要一一对应地命名,估计很多程序员在这方面没少花时间,还有就是不考虑反射对性能的影响)。不过从代码的简洁程度来看,这个确实显得out了;不过呢,笔者习惯了,命名多就多一些吧,在找到稳定可靠的解决方案之前,短时间看来是不会选择改进的了;
    (2)、如果页面中有用户控件(UserControl),用户控件里的子控件直接在页面中就比较难取到了(你可能已经看出问题的端倪来了),解决的方法就是在用户控件里生成实体类(这个可以模仿BasePage写一个BaseControl类,让用户控件继承BaseControl,然后取值。本来想另开一篇介绍一下的,可是发现实现代码雷同,放弃);
    (3)、取消页面文本框的enter key您可以参考“asp.net取消页面表单内文本输入框的Enter响应”;
    (4)、异常处理见(二)。
    二、异常处理
    1、日志类(自己写的一个简单通用的文本日志处理类)
    Code
    2、Error.aspx
    这个比较无语。通常用来提供一个有好的出错页面。对于开发人员,建议显示完整的异常信息。
    下面贴一个对开发人员有帮助的页面:
    (1)、设计页面
    Code
    (2)、实现代码
    Code
    好了,就总结到这里,希望对您有帮助。
    实例下载:Demo


    作者:Jeff Wong
    出处:http://jeffwongishandsome.cnblogs.com/
    本文版权归作者和博客园共有,欢迎围观转载。转载时请您务必在文章明显位置给出原文链接,谢谢您的合作。

  • 相关阅读:
    排序:归并排序
    错误编码 = 10022 错误消息 = SDK 组件 Qupaisdk 启动出错,错误消息为 [Qupaisdk], the android stack error message is Fail to start the plugin, which is caused by No implem
    关于百川趣拍64位的问题
    在 APK 中找不到对应的 securityguard***.so 文件或者 so 文件载入出错
    趣拍proguard配置
    android多国语言文件夹
    错误编码 = 17
    阿里百川趣拍接入指南
    Conversion to Dalvik format failed:Unable toexecute dex: method ID not in [0, 0xffff]: 65536
    Conversion to Dalvik format failed:Unable toexecute dex: method ID not in [0, 0xffff]: 65536
  • 原文地址:https://www.cnblogs.com/jeffwongishandsome/p/1429619.html
Copyright © 2020-2023  润新知