• 常用操作封装类


     
    一. 显示消息对话框类

        做项目时总免不了要弹出对话框,或提示用户,或做用户确认。像WinForm下的MessageBox一样很方便,但web下是不是也可以实现呢,答案是肯定的,我简单总结了一下并封装到类,在项目里像WinForm的MessageBox那样直接调用就可以,也可以把它编译成dll作为组件直接调用,并且它也没有弹出对话框时的大白屏现象:)。

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

    }


    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zwei1121/archive/2006/04/07/654410.aspx

  • 相关阅读:
    CQUOJ 10819 MUH and House of Cards
    CQUOJ 9920 Ladder
    CQUOJ 9906 Little Girl and Maximum XOR
    CQUOJ 10672 Kolya and Tandem Repeat
    CQUOJ 9711 Primes on Interval
    指针试水
    Another test
    Test
    二分图匹配的重要概念以及匈牙利算法
    二分图最大匹配
  • 原文地址:https://www.cnblogs.com/liufei88866/p/1523979.html
Copyright © 2020-2023  润新知