您的位置:首页 > 其它

项目最常用功能操作的封装类

2005-12-31 14:55 495 查看
/// <summary>

/// 显示消息提示对话框。

/// 2005.10.1

/// </summary>

public class MessageBox

{

private MessageBox()

{

}

/// <summary>

/// 显示消息提示对话框

/// </summary>

/// <param name="page">当前页面指针,一般为this</param>

/// <param name="msg">提示信息</param>

public static void Show(System.Web.UI.Page page,string msg)

{

page.RegisterStartupScript("message","<script language='javascript' defer>alert('"+msg.ToString()+"');</script>");

}

/// <summary>

/// 控件点击消息确认提示框

/// </summary>

/// <param name="page">当前页面指针,一般为this</param>

/// <param name="msg">提示信息</param>

public static void ShowConfirm(System.Web.UI.WebControls.WebControl Control,string msg)

{

//Control.Attributes.Add("onClick","if (!window.confirm('"+msg+"')){return false;}");

Control.Attributes.Add("onclick", "return confirm('" + msg + "');") ;

}

/// <summary>

/// 显示消息提示对话框,并进行页面跳转

/// </summary>

/// <param name="page">当前页面指针,一般为this</param>

/// <param name="msg">提示信息</param>

/// <param name="url">跳转的目标URL</param>

public static void ShowAndRedirect(System.Web.UI.Page page,string msg,string url)

{

StringBuilder Builder=new StringBuilder();

Builder.Append("<script language='javascript' defer>");

Builder.AppendFormat("alert('{0}');",msg);

Builder.AppendFormat("top.location.href='{0}'",url);

Builder.Append("</script>");

page.RegisterStartupScript("message",Builder.ToString());

}

/// <summary>

/// 输出自定义脚本信息

/// </summary>

/// <param name="page">当前页面指针,一般为this</param>

/// <param name="script">输出脚本</param>

public static void ResponseScript(System.Web.UI.Page page,string script)

{

page.RegisterStartupScript("message","<script language='javascript' defer>"+script+"</script>");

}

}

二.页面数据验证类

做项目,特别做MIS,更避免不了有用户输入数据需要做有效性验证,这里我总结封装了一个页面数据校验的工具类,用起来也是很方便。

/// <summary>

/// 页面数据校验类

/// 李天平

/// 2004.8

/// </summary>

public class PageValidate

{

private static Regex RegNumber = new Regex("^[0-9]+$");

private static Regex RegNumberSign = new Regex("^[+-]?[0-9]+$");

private static Regex RegDecimal = new Regex("^[0-9]+[.]?[0-9]+$");

private static Regex RegDecimalSign = new Regex("^[+-]?[0-9]+[.]?[0-9]+$"); //等价于^[+-]?\d+[.]?\d+$

private static Regex RegEmail = new Regex("^[\\w-]+@[\\w-]+\\.(com|net|org|edu|mil|tv|biz|info)$");//w 英文字母或数字的字符串,和 [a-zA-Z0-9] 语法一样

private static Regex RegCHZN = new Regex("[\u4e00-\u9fa5]");

public PageValidate()

{

}

#region 数字字符串检查

/// <summary>

/// 检查Request查询字符串的键值,是否是数字,最大长度限制

/// </summary>

/// <param name="req">Request</param>

/// <param name="inputKey">Request的键值</param>

/// <param name="maxLen">最大长度</param>

/// <returns>返回Request查询字符串</returns>

public static string FetchInputDigit(HttpRequest req, string inputKey, int maxLen)

{

string retVal = string.Empty;

if(inputKey != null && inputKey != string.Empty)

{

retVal = req.QueryString[inputKey];

if(null == retVal)

retVal = req.Form[inputKey];

if(null != retVal)

{

retVal = SqlText(retVal, maxLen);

if(!IsNumber(retVal))

retVal = string.Empty;

}

}

if(retVal == null)

retVal = string.Empty;

return retVal;

}

/// <summary>

/// 是否数字字符串

/// </summary>

/// <param name="inputData">输入字符串</param>

/// <returns></returns>

public static bool IsNumber(string inputData)

{

Match m = RegNumber.Match(inputData);

return m.Success;

}

/// <summary>

/// 是否数字字符串可带正负号

/// </summary>

/// <param name="inputData">输入字符串</param>

/// <returns></returns>

public static bool IsNumberSign(string inputData)

{

Match m = RegNumberSign.Match(inputData);

return m.Success;

}

/// <summary>

/// 是否是浮点数

/// </summary>

/// <param name="inputData">输入字符串</param>

/// <returns></returns>

public static bool IsDecimal(string inputData)

{

Match m = RegDecimal.Match(inputData);

return m.Success;

}

/// <summary>

/// 是否是浮点数可带正负号

/// </summary>

/// <param name="inputData">输入字符串</param>

/// <returns></returns>

public static bool IsDecimalSign(string inputData)

{

Match m = RegDecimalSign.Match(inputData);

return m.Success;

}

#endregion

#region 中文检测

/// <summary>

/// 检测是否有中文字符

/// </summary>

/// <param name="inputData"></param>

/// <returns></returns>

public static bool IsHasCHZN(string inputData)

{

Match m = RegCHZN.Match(inputData);

return m.Success;

}

#endregion

#region 邮件地址

/// <summary>

/// 是否是浮点数可带正负号

/// </summary>

/// <param name="inputData">输入字符串</param>

/// <returns></returns>

public static bool IsEmail(string inputData)

{

Match m = RegEmail.Match(inputData);

return m.Success;

}

#endregion

#region 其他

/// <summary>

/// 检查字符串最大长度,返回指定长度的串

/// </summary>

/// <param name="sqlInput">输入字符串</param>

/// <param name="maxLength">最大长度</param>

/// <returns></returns>

public static string SqlText(string sqlInput, int maxLength)

{

if(sqlInput != null && sqlInput != string.Empty)

{

sqlInput = sqlInput.Trim();

if(sqlInput.Length > maxLength)//按最大长度截取字符串

sqlInput = sqlInput.Substring(0, maxLength);

}

return sqlInput;

}

/// <summary>

/// 字符串编码

/// </summary>

/// <param name="inputData"></param>

/// <returns></returns>

public static string HtmlEncode(string inputData)

{

return HttpUtility.HtmlEncode(inputData);

}

/// <summary>

/// 设置Label显示Encode的字符串

/// </summary>

/// <param name="lbl"></param>

/// <param name="txtInput"></param>

public static void SetLabel(Label lbl, string txtInput)

{

lbl.Text = HtmlEncode(txtInput);

}

public static void SetLabel(Label lbl, object inputObj)

{

SetLabel(lbl, inputObj.ToString());

}

#endregion

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: