/// <summary>
/// 获取、绑定、校验控件值的操作方法类
/// </summary>
public class ControlHelper
{
/// <summary>
/// 文本框不能为空值
/// </summary>
/// <param name="txt">文件框控件ID</param>
/// <param name="txtName">文本框控件名称</param>
/// <returns></returns>
public static string GetErrorMessage(TextBox txt, string txtName)
{
if(txt.Text.Trim() == string.Empty)
return string.Format("<li>{0}不能为空值!</li>", txtName);
else
return string.Empty;
}
/// <summary>
/// 文本框不能为空值且不能超过允许字符
/// </summary>
/// <param name="txt">文本框控件ID</param>
/// <param name="txtName">文本框控件名称</param>
/// <param name="maxLength">最大长度</param>
/// <returns></returns>
public static string GetErrorMessage(TextBox txt, string txtName, int maxLength)
{
if(txt.Text.Trim() == string.Empty || txt.Text.Trim().Length > maxLength)
return string.Format("<li>{0}不能为空值且不能超过{1}个字符!</li>", txtName, maxLength);
else
return string.Empty;
}
/// <summary>
/// 文本控件值校验类型
/// </summary>
public enum TextValueType
{
/// <summary>
/// int 类型,包括负数
/// </summary>
Int,
/// <summary>
/// 小数类型
/// </summary>
Decimal,
/// <summary>
/// 整形数字类型
/// </summary>
Numeric
}
/// <summary>
/// 检查文本框必须为数字
/// </summary>
/// <param name="txt">文本框控件ID</param>
/// <param name="txtName">文本框控件名称</param>
/// <param name="isInt">是否为Int数字值,否则为小数值</param>
/// <param name="isRequire">是否必须输入</param>
/// <returns></returns>
public static string GetErrorMessage(TextBox txt, string txtName, TextValueType tvt, bool isRequire)
{
if(isRequire && txt.Text.Trim() == string.Empty)
return string.Format("<li>{0}不能为空值!</li>", txtName);
switch(tvt)
{
case TextValueType.Int:
if(!Validator.IsInt(txt.Text.Trim()) && txt.Text.Trim() != string.Empty)
return string.Format("<li>{0}的值必须为Int型数字!</li>", txtName);
break;
case TextValueType.Decimal:
if(!Validator.IsDecimal(txt.Text.Trim()) && txt.Text.Trim() != string.Empty)
return string.Format("<li>{0}的值必须为数字或小数且不能为负数!</li>", txtName);
break;
case TextValueType.Numeric:
if(!Validator.IsNumeric(txt.Text.Trim()) && txt.Text.Trim() != string.Empty)
return string.Format("<li>{0}的值必须为整型数字!</li>", txtName);
break;
}
return string.Empty;
}
/// <summary>
/// 检验下拉框必须选择索引大于第一项的值
/// </summary>
/// <param name="ddl"></param>
/// <param name="ddlName"></param>
/// <returns></returns>
public static string GetErrorMessage(DropDownList ddl, string ddlName)
{
if(ddl.SelectedIndex <= 0)
return string.Format("<li>请选择{0}!</li>", ddlName);
else
return string.Empty;
}
/// <summary>
/// 检验多项单选框必须选择
/// </summary>
/// <param name="ddl"></param>
/// <param name="ddlName"></param>
/// <returns></returns>
public static string GetErrorMessage(RadioButtonList rbl, string rblName)
{
if(rbl.SelectedIndex == -1)
return string.Format("<li>请选择{0}!</li>", rblName);
else
return string.Empty;
}
/// <summary>
/// 只允许上传图片
/// </summary>
/// <param name="upload"></param>
/// <param name="fuName"></param>
/// <returns></returns>
public static string GetErrorMessage(FileUpload upload, string fuName)
{
if(upload.HasFile)
{
if(upload.PostedFile.ContentType.ToString().ToLower().IndexOf("image") == -1)
return string.Format("<li>上传的{0}文件格式不正确!</li>", fuName);
}
return string.Empty;
}
/// <summary>
/// 获得文本框的数字值
/// </summary>
/// <param name="txt">文本框控件</param>
/// <returns></returns>
public static int GetIntValue(TextBox txt)
{
if(txt.Text.Trim() == string.Empty)
return 0;
try
{
return Convert.ToInt32(txt.Text.Trim());
}
catch
{
return 0;
}
}
/// <summary>
/// 获得下拉控件选择项索引大于0的Int值
/// </summary>
/// <param name="ddl"></param>
/// <returns></returns>
public static int GetIntValue(DropDownList ddl)
{
if(ddl.SelectedIndex > 0)
return Convert.ToInt32(ddl.SelectedValue);
else
return 0;
}
/// <summary>
/// 获得文本框的小数值
/// </summary>
/// <param name="txt">文本框控件</param>
/// <param name="IsDecimal">是否为小数</param>
/// <returns></returns>
public static decimal GetDecimalValue(TextBox txt)
{
if(txt.Text.Trim() == string.Empty)
return 0;
try
{
return Convert.ToDecimal(txt.Text.Trim());
}
catch
{
return 0;
}
}
/// <summary>
/// 返回从CheckBoxList中选定的单个或多个值
/// </summary>
/// <param name="cbl">CheckBoxList控件名称</param>
/// <returns>返回选定的值</returns>
public static string GetValue(CheckBoxList cbl)
{
string result = string.Empty;
for(int i = 0; i < cbl.Items.Count; i++)
{
if(cbl.Items[i].Selected == true)
result += String.Format(",{0}", cbl.Items[i].Value);
}
if(result != string.Empty)
result = result.Substring(1, result.Length - 1);
return result;
}
/// <summary>
/// 从CheckBoxList中选定
/// </summary>
/// <param name="cbl">CheckBoxList控件名称</param>
/// <param name="val">要选中项值,多个值以,号间隔</param>
public static void BindValue(CheckBoxList cbl, string val)
{
Array.ForEach(val.Split(','),
delegate(string s)
{
for(int i = 0; i < cbl.Items.Count; i++)
if(cbl.Items[i].Value == s)
cbl.Items[i].Selected = true;
});
}
/// <summary>
/// 从单选项中选定
/// </summary>
/// <param name="rbl">RadioButtonList控件名称</param>
/// <param name="val">要选定的值</param>
public static void BindValue(RadioButtonList rbl, string val)
{
for(int i = 0; i < rbl.Items.Count; i++)
{
if(rbl.Items[i].Value == val)
rbl.Items[i].Selected = true;
}
}
}