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

时间:2022-08-24 20:51:49

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

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

复制代码代码如下:


/// <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);