服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服务器之家 - 编程语言 - ASP.NET教程 - Asp.net清空控件值的方法(可自定义控件类型)

Asp.net清空控件值的方法(可自定义控件类型)

2019-10-31 14:06asp.net教程网 ASP.NET教程

页面内有许多控件,在清理的过程中很费时间,于是写了这么一个方法,可以自定义清空控件的类型,感兴趣的朋友可以参考下哈

由于项目收尾,最近忙着做一些方法的优化,整理了一些分享给大家。 

当页面内有许多控件,我们在需要清空其值的时候,一个个清空未免太麻烦。于是写了这么一个方法,可以自定义清空控件的类型,灵活应对业务需求。 

复制代码代码如下:


/// <summary>重置方法控件类型枚举</summary> 
/// <remarks>求知域http://www.zzvips.com 2012-12-28</remarks> 
public enum ReSetType 

/// <summary> 
/// TextBox 
/// </summary> 
TXT, 
/// <summary> 
/// DropDownList 
/// </summary> 
DDL, 
/// <summary> 
/// RadioButtonList 
/// </summary> 
RBL, 
/// <summary> 
/// 全部ReSetType类型 
/// </summary> 
ALL 

/// <summary>重置控件的值</summary> 
/// <remarks>求知域http://www.qqextra.com 2012-12-28</remarks> 
/// <param name="control">this</param> 
/// <param name="rst">ReSetType.ALL为清空ReSetType枚举中包含的所有控件类型</param> 
public static void ReSet(Control control, params ReSetType[] rst) 

bool blTxt = false; 
bool blDdl = false; 
bool blRbl = false; 
foreach (ReSetType type in rst) 

if (type == ReSetType.ALL) 

blTxt = true; 
blDdl = true; 
blRbl = true; 
break; 

else 
if (type == ReSetType.TXT) 
blTxt = true; 
else if (type == ReSetType.DDL) 
blDdl = true; 
else if (type == ReSetType.RBL) 
blRbl = true; 

foreach (Control c in control.Controls) 

//文本框 
if (c is TextBox && blTxt == true) 

((TextBox)c).Text = ""; 

else 
//下拉列表 
if (c is DropDownList && blDdl == true) 

DropDownList ddl = (DropDownList)c; 
if (ddl.Items.Count > 0) 

ddl.SelectedIndex = 0; 


else 
//单选按钮列表 
if (c is RadioButtonList && blRbl == true) 

((RadioButtonList)c).SelectedIndex = -1; 

else 
if (c.HasControls()) 

//递归 
ReSet(c, rst); 


延伸 · 阅读

精彩推荐