说起扩展方法,不得不提博客园的GridView的主键值:

扩展方法 之 Asp.Net篇         public static T GetKey<T>(this GridView grid, int rowIndex)


示例:

扩展方法 之 Asp.Net篇         protected void gvMaster_RowEditing(object sender, GridViewEditEventArgs e)
2.
获取GridView的行号:

扩展方法 之 Asp.Net篇         public static int GetRowIndex(this GridViewCommandEventArgs e)

示例:

扩展方法 之 Asp.Net篇       protected  void gvMaster_RowCommand(object sender, GridViewCommandEventArgs e)

3. 查找指定ID的控件,并转换成指定类型:



扩展方法 之 Asp.Net篇         public static T FindControl<T>(this Control control, string id) where T : class

示例:



扩展方法 之 Asp.Net篇        public static List<T> FindControls<T>(this Control control) where T : Control

示例:


备注:
在实际开发中有个不错的应用场景——找到所有的RequiredFieldValidator
控件并统一设置其错误信息和提示信息:

扩展方法 之 Asp.Net篇             var rs = this.FindControls<RequiredFieldValidator>();
扩展方法 之 Asp.Net篇             
foreach (var r in rs)

当然,如果在FindControls中增加一个Action<T> 参数应该是个不错的方案,这样以上语句就可以直接写成:


5. 判断本页是是否使用Ajax (其实就是判断是否使用了ScriptManager)



扩展方法 之 Asp.Net篇         public static bool IsAjaxPage(this Page page)

示例:

扩展方法 之 Asp.Net篇             if (this.IsAjaxPage())

6. UpdatePanel 调用javascript 显示信息


扩展方法 之 Asp.Net篇         public static void Alert(this UpdatePanel panel, string message)

示例:

udpHeader.Alert("Hello,I'm Bruce!");//注:udpHeader 是UpdatePanel 类型


把 alert 换成漂亮的提示框就perfect了。


总结
实际项目中远不止这几个扩展方法,只是比较典型就发上来交流交流,其他的稍微有点复杂而且不经常用到。
有了这些扩展方法,就可以去除项目中很多重复性代码,欢迎大家提出更好的建议。
末了发觉有点纯代码的味道,但实在这些方法都是入门级,也应该没哪一个是看不懂的,也就不在这里一一罗嗦。

相关文章:

  • 2021-08-03
  • 2021-06-11
  • 2021-05-23
  • 2021-10-10
  • 2022-12-23
  • 2021-05-15
  • 2021-08-01
猜你喜欢
  • 2021-09-12
  • 2022-02-09
  • 2021-08-02
  • 2022-12-23
  • 2021-10-29
  • 2021-10-22
  • 2022-12-23
相关资源
相似解决方案