using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Reflection;
/// <summary>
/// ClearUtility 的摘要描述
/// </summary>
public class ClearUtility
{
/// <summary>
/// 清除控件值
/// </summary>
/// <param name="ctls"></param>
public static void ClearControlValue(params Control[] ctls)
{
foreach (Control ctl in ctls)
{
if (ctl is DropDownList)
{
((DropDownList)ctl).SelectedValue = "";
}
else
{
Type ctlType = ctl.GetType();
if (ctlType.GetProperty("SelectedItem") != null)
{
foreach (ListItem item in ((ListControl)ctl).Items)
{
item.Selected = false;
}
}
else if (ctlType.GetProperty("Text") != null)
{
ctlType.GetProperty("Text").SetValue(ctl, "", null);
}
else if (ctlType.GetProperty("Value") != null)
{
ctlType.GetProperty("Value").SetValue(ctl, "", null);
}
else if (ctlType.GetProperty("InnerHtml") != null)
{
ctlType.GetProperty("InnerHtml").SetValue(ctl, "", null);
}
}
PropertyInfo info = ctl.GetType().GetProperty("CssClass");
if (info != null)
{
string css = info.GetValue(ctl, null).ToString().Replace("error", "");
info.SetValue(ctl, css, null);
if (ctl is ListControl && !(ctl is DropDownList))
{
ctl.GetType().GetProperty("BorderWidth").SetValue(ctl, Unit.Pixel(0), null);
}
}
}
}
}