收集的一些综合功能函数

it2022-05-05  113

下载文件出现提示框或者直接显示在浏览器中

出现提示框

string strFile="F:\\a.doc";//路径根据实际情况而定 if(!System.IO.File.Exists(strFile))    {     Response.Write("<script language='javascript'>alert('对不起,文件不存在!');</script>");     return;    }    Response.Clear();    Response.ClearHeaders();    Response.Charset = "GB2312";    Response.ContentEncoding =System.Text.Encoding.UTF8;    Response.ContentType = "application/octet-stream";    FileInfo fi=new FileInfo(strFile);    Response.AddHeader("Content-Disposition","attachment;  filename="  +  HttpUtility.UrlEncode(fi.Name)) ;    Response.AddHeader("Content-Length",fi.Length.ToString());    byte[] tmpbyte=new byte[1024*8];    FileStream fs=fi.OpenRead();    int count;    while((count=fs.Read(tmpbyte,0,tmpbyte.Length))>0)    {     Response.BinaryWrite(tmpbyte);     Response.Flush();    }    fs.Close();      Response.End();

直接在浏览器中打开    string strFile="F:\\a.doc";//路径根据实际情况而定    Response.Clear();    Response.ClearHeaders();    Response.Charset = "GB2312";    Response.ContentEncoding =System.Text.Encoding.UTF8;    Response.ContentType = "application/msword";    Response.WriteFile(strFile);

Window.open()打开一个窗体不被拦截 在DataGrid中建一个模板列,在模板列中放一个客户端的Button,或者直接写你要的字句,然后用<a href>连接 例: <TABLE id="Table1" cellSpacing="0" cellPadding="0" width="100%" align="center" border="0">     <TR>      <TD width="100%">       <asp:datagrid id="dgFreightInfo" runat="server" Width="96%" GridLines="Horizontal" AllowCustomPaging="True"        AllowPaging="True" AutoGenerateColumns="False" DataKeyField="id" BorderColor="White" BorderWidth="1px"        PageSize="20">        <ItemStyle Height="25px" BackColor="#F7F7F7"></ItemStyle>        <HeaderStyle Font-Bold="True" HorizontalAlign="Center" Height="25px" BackColor="#E8E8E8"></HeaderStyle>        <Columns>         <asp:TemplateColumn>          <ItemTemplate>           <A href='javascript:οnclick=LoadFreight(<%# DataBinder.Eval(Container,"DataItem.id")%>)'>            详细信息</A>          </ItemTemplate>         </asp:TemplateColumn>        </Columns>       </asp:datagrid>      </TD>     </TR> 然后写一个JavaScript方法 <script language="javascript"> function LoadFreight(id)//id为传进的参数 {  var url='url.aspx?tid='+id+'';  window.open(url,'','scrollbars=yes,top=0,left=0,resizable=no,status=no,toolbar=no,menubar=no,location=no,width=430,height=600'); } </script> 1. 打开新的窗口并传送参数: 传送参数: response.write("<script>window.open('*.aspx?id="+this.DropDownList1.SelectIndex+"&id1="+...+"')</script>") 接收参数: string a  = Request.QueryString("id"); string b  = Request.QueryString("id1"); 2.为按钮添加对话框 Button1.Attributes.Add("onclick","return confirm('确认?')"); button.attributes.add("onclick","if(confirm('are you sure...?')){return true;}else{return false;}") 3.删除表格选定记录 int intEmpID = (int)MyDataGrid.DataKeys[e.Item.ItemIndex]; string deleteCmd = "DELETE from Employee where emp_id = " + intEmpID.ToString() 4.删除表格记录警告 private void DataGrid_ItemCreated(Object sender,DataGridItemEventArgs e) { switch(e.Item.ItemType) {  case ListItemType.Item :  case ListItemType.AlternatingItem :  case ListItemType.EditItem:    TableCell myTableCell;    myTableCell = e.Item.Cells[14];    LinkButton myDeleteButton ;    myDeleteButton = (LinkButton)myTableCell.Controls[0];    myDeleteButton.Attributes.Add("onclick","return confirm('您是否确定要删除这条信息');");    break;  default:   break; } } 5.点击表格行链接另一页 private void grdCustomer_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e) { //点击表格打开 if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) e.Item.Attributes.Add("onclick","window.open('Default.aspx?id=" + e.Item.Cells[0].Text + "');"); } 双击表格连接到另一页 在itemDataBind事件中 if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)   { string OrderItemID =e.item.cells[1].Text; ... e.item.Attributes.Add("ondblclick", "location.href='../ShippedGrid.aspx?id=" + OrderItemID + "'"); } 双击表格打开新一页 if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)   { string OrderItemID =e.item.cells[1].Text; ... e.item.Attributes.Add("ondblclick", "open('../ShippedGrid.aspx?id=" + OrderItemID + "')"); } ★特别注意:【?id=】 处不能为 【?id =】 6.表格超连接列传递参数 <asp:HyperLinkColumn Target="_blank"  headertext="ID号" DataTextField="id" NavigateUrl="aaa.aspx?id='<%# DataBinder.Eval(Container.DataItem, "数据字段1")%>'  & name='<%# DataBinder.Eval(Container.DataItem, "数据字段2")%>' /> 7.表格点击改变颜色 if (e.Item.ItemType == ListItemType.Item ||e.Item.ItemType == ListItemType.AlternatingItem) {  e.Item.Attributes.Add("onclick","this.style.backgroundColor='#99cc00';this.style.color='buttontext';this.style.cursor='default';"); } 写在DataGrid的_ItemDataBound里 if (e.Item.ItemType == ListItemType.Item ||e.Item.ItemType == ListItemType.AlternatingItem) {  e.Item.Attributes.Add("onmouseover","this.style.backgroundColor='#99cc00';this.style.color='buttontext';this.style.cursor='default';"); e.Item.Attributes.Add("onmouseout","this.style.backgroundColor='';this.style.color='';"); } 8.关于日期格式 日期格式设定 DataformatString="{0:yyyy-MM-dd}" 我觉得应该在itembound事件中 e.items.cell["你的列"].text=DateTime.Parse(e.items.cell["你的列"].text.ToString("yyyy-MM-dd")) 9.获取错误信息并到指定页面 不要使用Response.Redirect,而应该使用Server.Transfer e.g // in global.asax protected void Application_Error(Object sender, EventArgs e) {  if (Server.GetLastError() is HttpUnhandledException)      Server.Transfer("MyErrorPage.aspx"); //其余的非HttpUnhandledException异常交给ASP.NET自己处理就okay了 } Redirect会导致post-back的产生从而丢失了错误信息,所以页面导向应该直接在服务器端执行,这样就可以在错误处理页面得到出错信息并进行相应的处理 10.清空Cookie Cookie.Expires=[DateTime]; Response.Cookies("UserName").Expires = 0 11.自定义异常处理 //自定义异常处理类 using System; using System.Diagnostics; namespace MyAppException { /// <summary> /// 从系统异常类ApplicationException继承的应用程序异常处理类。 /// 自动将异常内容记录到Windows NT/2000的应用程序日志 /// </summary> public class AppException:System.ApplicationException {  public AppException()  {   if (ApplicationConfiguration.EventLogEnabled)    LogEvent("出现一个未知错误。");  }  public AppException(string message)  {   LogEvent(message);  }  public AppException(string message,Exception innerException)  {   LogEvent(message);   if (innerException != null)   {    LogEvent(innerException.Message);   }  } //日志记录类 using System; using System.Configuration; using System.Diagnostics; using System.IO; using System.Text; using System.Threading; namespace MyEventLog { /// <summary> ///     事件日志记录类,提供事件日志记录支持 ///     <remarks> ///         定义了4个日志记录方法 (error, warning, info, trace) ///     </remarks> /// </summary> public class ApplicationLog {     /// <summary>  ///     将错误信息记录到Win2000/NT事件日志中  ///     <param name="message">需要记录的文本信息</param>  /// </summary>  public static void WriteError(String message)  {   WriteLog(TraceLevel.Error, message);  }          /// <summary>  ///     将警告信息记录到Win2000/NT事件日志中  ///     <param name="message">需要记录的文本信息</param>  /// </summary>  public static void WriteWarning(String message)  {   WriteLog(TraceLevel.Warning, message);  }          /// <summary>  ///     将提示信息记录到Win2000/NT事件日志中  ///     <param name="message">需要记录的文本信息</param>  /// </summary>  public static void WriteInfo(String message)  {   WriteLog(TraceLevel.Info, message);  }  /// <summary>  ///     将跟踪信息记录到Win2000/NT事件日志中  ///     <param name="message">需要记录的文本信息</param>  /// </summary>  public static void WriteTrace(String message)  {     WriteLog(TraceLevel.Verbose, message);  }          /// <summary>  ///    格式化记录到事件日志的文本信息格式  ///     <param name="ex">需要格式化的异常对象</param>  ///     <param name="catchInfo">异常信息标题字符串.</param>  ///     <retvalue>  ///         <para>格式后的异常信息字符串,包括异常内容和跟踪堆栈.</para>  ///     </retvalue>  /// </summary>  public static String formatException(Exception ex, String catchInfo)  {   StringBuilder strBuilder = new StringBuilder();   if (catchInfo != String.Empty)   {    strBuilder.Append(catchInfo).Append("\r\n");   }   strBuilder.Append(ex.Message).Append("\r\n").Append(ex.StackTrace);   return strBuilder.ToString();  }  /// <summary>  ///     实际事件日志写入方法  ///     <param name="level">要记录信息的级别(error,warning,info,trace).</param>  ///     <param name="messageText">要记录的文本.</param>  /// </summary>  private static void WriteLog(TraceLevel level, String messageText)  {     try   {      EventLogEntryType LogEntryType;    switch (level)    {     case TraceLevel.Error:      LogEntryType = EventLogEntryType.Error;      break;     case TraceLevel.Warning:      LogEntryType = EventLogEntryType.Warning;      break;     case TraceLevel.Info:      LogEntryType = EventLogEntryType.Information;      break;     case TraceLevel.Verbose:      LogEntryType = EventLogEntryType.SuccessAudit;      break;     default:      LogEntryType = EventLogEntryType.SuccessAudit;      break;    }        EventLog eventLog = new EventLog("Application", ApplicationConfiguration.EventLogMachineName,         ApplicationConfiguration.EventLogSourceName );    //写入事件日志    eventLog.WriteEntry(messageText, LogEntryType);     }   catch {} //忽略任何异常  }     } //class ApplicationLog } 12.Panel 横向滚动,纵向自动扩展 <asp:panel  style="overflow-x:scroll;overflow-y:auto;"></asp:panel> 13.回车转换成Tab <script language="javascript" for="document" event="onkeydown"> if(event.keyCode==13 && event.srcElement.type!='button' && event.srcElement.type!='submit' && event.srcElement.type!='reset' && event.srcElement.type!=''&& event.srcElement.type!='textarea'); event.keyCode=9; </script> οnkeydοwn="if(event.keyCode==13) event.keyCode=9" http://dotnet.aspx.cc/exam/enter2tab.aspx 14.DataGrid超级连接列 DataNavigateUrlField="字段名" DataNavigateUrlformatString=" http://xx/inc/delete.aspx?ID={0}" 15.DataGrid行随鼠标变色 private void DGzf_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)  {   if (e.Item.ItemType!=ListItemType.Header)   {    e.Item.Attributes.Add( "onmouseout","this.style.backgroundColor=\""+e.Item.style["BACKGROUND-COLOR"]+"\"");    e.Item.Attributes.Add( "onmouseover","this.style.backgroundColor=\""+ "#EFF3F7"+"\"");   }    } 16.模板列 <ASP:TEMPLATECOLUMN visible="False" sortexpression="demo" headertext="ID"> <ITEMTEMPLATE>  <ASP:LABEL text='<%# DataBinder.Eval(Container.DataItem, "ArticleID")%>' runat="server" width="80%" id="lblColumn" /> </ITEMTEMPLATE> </ASP:TEMPLATECOLUMN> <ASP:TEMPLATECOLUMN headertext="选中"> <HEADERstyle wrap="False" horizontalalign="Center"></HEADERstyle> <ITEMTEMPLATE>  <ASP:CHECKBOX id="chkExport" runat="server" /> </ITEMTEMPLATE> <EDITITEMTEMPLATE> <ASP:CHECKBOX id="chkExportON" runat="server" enabled="true" /> </EDITITEMTEMPLATE> </ASP:TEMPLATECOLUMN> 后台代码 protected void CheckAll_CheckedChanged(object sender, System.EventArgs e)  {   //改变列的选定,实现全选或全不选。   CheckBox chkExport ;   if( CheckAll.Checked)   {    foreach(DataGridItem oDataGridItem in MyDataGrid.Items)    {     chkExport = (CheckBox)oDataGridItem.FindControl("chkExport");     chkExport.Checked = true;    }   }   else   {    foreach(DataGridItem oDataGridItem in MyDataGrid.Items)    {     chkExport = (CheckBox)oDataGridItem.FindControl("chkExport");     chkExport.Checked = false;    }   }  } 17.数字格式化 【<%#Container.DataItem("price")%>的结果是500.0000,怎样格式化为500.00?】 <%#Container.DataItem("price","{0:¥#,##0.00}")%> int i=123456; string s=i.ToString("###,###.00"); 18.日期格式化 【aspx页面内:<%# DataBinder.Eval(Container.DataItem,"Company_Ureg_Date")%> 显示为: 2004-8-11 19:44:28 我只想要:2004-8-11 】 <%# DataBinder.Eval(Container.DataItem,"Company_Ureg_Date","{0:yyyy-M-d}")%> 应该如何改? 【格式化日期】 取出来,一般是object ((DateTime)objectFromDB).ToString("yyyy-MM-dd"); 【日期的验证表达式】 A.以下正确的输入格式: [2004-2-29], [2004-02-29 10:29:39 pm], [2004/12/31]   ^((\d{2}(([02468][048])|([13579][26]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|([1-2][0-9])))))|(\d{2}(([02468][1235679])|([13579][01345789]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))(\s(((0?[1-9])|(1[0-2]))\:([0-5][0-9])((\s)|(\:([0-5][0-9])\s))([AM|PM|am|pm]{2,2})))?$ B.以下正确的输入格式:[0001-12-31], [9999 09 30], [2002/03/03]   ^\d{4}[\-\/\s]?((((0[13578])|(1[02]))[\-\/\s]?(([0-2][0-9])|(3[01])))|(((0[469])|(11))[\-\/\s]?(([0-2][0-9])|(30)))|(02[\-\/\s]?[0-2][0-9]))$ 【大小写转换】 HttpUtility.HtmlEncode(string); HttpUtility.HtmlDecode(string) 19.如何设定全局变量 Global.asax中 Application_Start()事件中 添加Application[属性名] = xxx; 就是你的全局变量 20.怎样作到HyperLinkColumn生成的连接后,点击连接,打开新窗口? HyperLinkColumn有个属性Target,将器值设置成"_blank"即可.(Target="_blank") 【ASPNETMENU】点击菜单项弹出新窗口 在你的menuData.xml文件的菜单项中加入URLTarget="_blank" 如: <?xml version="1.0" encoding="GB2312"?> <MenuData ImagesBaseURL="images/">  <MenuGroup>    <MenuItem Label="内参信息" URL="Infomation.aspx" >      <MenuGroup ID="BBC">        <MenuItem Label="公告信息"   URL="Infomation.aspx" URLTarget="_blank"  LeftIcon="file.gif"/>        <MenuItem Label="编制信息简报" URL="NewInfo.aspx" LeftIcon="file.gif" /> ...... 最好将你的aspnetmenu升级到1.2版 21.委托讨论 http://community.csdn.net/Expert/topic/2651/2651579.xml?temp=.7183191 http://dev.csdn.net/develop/article/22/22951.shtm 22.读取DataGrid控件TextBox值 foreach(DataGrid dgi in yourDataGrid.Items) {    TextBox tb = (TextBox)dgi.FindControl("yourTextBoxId");    tb.Text.... } 23.在DataGrid中有3个模板列包含Textbox分别为 DG_ShuLiang (数量) DG_DanJian(单价) DG_JinE(金额)分别在5.6.7列,要求在录入数量及单价的时候自动算出金额即:数量*单价=金额还要求录入时限制为 数值型.我如何用客户端脚本实现这个功能? 〖思归〗   <asp:TemplateColumn HeaderText="数量">  <ItemTemplate>   <asp:TextBox id="ShuLiang" runat='server' Text='<%# DataBinder.Eval(Container.DataItem,"DG_ShuLiang")%>'      οnkeyup="javascript:DoCal()"   />   <asp:RegularExpressionValidator id="revS" runat="server" ControlToValidate="ShuLiang" ErrorMessage="must be integer" ValidationExpression="^\d+$" />  </ItemTemplate>      </asp:TemplateColumn>      <asp:TemplateColumn HeaderText="单价">  <ItemTemplate>   <asp:TextBox id="DanJian" runat='server' Text='<%# DataBinder.Eval(Container.DataItem,"DG_DanJian")%>'    οnkeyup="javascript:DoCal()"   />  <asp:RegularExpressionValidator id="revS2" runat="server" ControlToValidate="DanJian" ErrorMessage="must be numeric" ValidationExpression="^\d+(\.\d*)?$" />  </ItemTemplate>      </asp:TemplateColumn>     <asp:TemplateColumn HeaderText="金额">  <ItemTemplate>   <asp:TextBox id="JinE" runat='server' Text='<%# DataBinder.Eval(Container.DataItem,"DG_JinE")%>' />  </ItemTemplate>      </asp:TemplateColumn> <script language="javascript"> function DoCal() {  var e = event.srcElement;  var row = e.parentNode.parentNode;  var txts = row.all.tags("INPUT");  if (!txts.length || txts.length < 3) return;  var q = txts[txts.length-3].value;  var p = txts[txts.length-2].value;  if (isNaN(q) || isNaN(p)) return;  q = parseInt(q);  p = parseFloat(p);  txts[txts.length-1].value = (q * p).toFixed(2); } </script> 24.datagrid选定比较底下的行时,为什么总是刷新一下,然后就滚动到了最上面,刚才选定的行因屏幕的关系就看不到了 page_load page.smartNavigation=true 25.在Datagrid中修改数据,当点击编辑键时,数据出现在文本框中,怎么控制文本框的大小 ? private void DataGrid1_ItemDataBound(obj sender,DataGridItemEventArgs e) {       for(int i=0;i<e.Item.Cells.Count-1;i++)          if(e.Item.ItemType==ListItemType.EditType)           {                  e.Item.Cells[i].Attributes.Add("Width", "80px")            }   } 26.对话框 private static string ScriptBegin = "<script language=\"javascript\">"; private static string ScriptEnd = "</script>"; public static void ConfirmMessageBox(string PageTarget,string Content)  {   string ConfirmContent="var retvalue=window.confirm('"+Content+"');"+"if(retvalue){window.location='"+PageTarget+"';}";     ConfirmContent=ScriptBegin + ConfirmContent + ScriptEnd;     Page ParameterPage = (Page)System.Web.HttpContext.Current.Handler;   ParameterPage.RegisterStartupScript("confirm",ConfirmContent);   //Response.Write(strScript);    }

一. 显示消息对话框类

 

 

    做项目时总免不了要弹出对话框,或提示用户,或做用户确认。像WinForm下的MessageBox一样很方便,但web下是不是也可以实现呢,答案是肯定的,我简单总结了一下并封装到类,在项目里像WinFormMessageBox那样直接调用就可以,也可以把它编译成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

}

转载于:https://www.cnblogs.com/stever/archive/2008/11/11/1331140.html


最新回复(0)