?? commhandler.cs
字號:
using System;
using System.Data;
using System.Web;
using System.Drawing;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Text.RegularExpressions ;
using DocAdmin.DAL ;
namespace DocAdmin.COMMON
{
/// <summary>
/// CommHandler類包含本解決方案通用的方法
/// </summary>
public class CommHandler
{
#region 字符串轉換方法
/// <summary>
/// 從前臺獲取的帶空格字符串的處理
/// </summary>
/// <param name="s">待處理字符串</param>
/// <returns>處理后的字符串</returns>
public static string FormatNullString(string s)
{
s=s.Replace(" "," ");
return s.Trim();
}
public static byte StringToByte(string str)
{
byte ret = 0 ;
//將字符形式的Bool轉換
if(str=="True")
{
str = "1" ;
}
try
{
ret = Convert.ToByte(str,2) ;
}
catch
{}
return ret ;
}
/// <summary>
/// 將字符串轉換為整數(shù)
/// </summary>
/// <param name="str">待轉換的字符串</param>
/// <returns>轉換后的整數(shù)</returns>
public static int StringToInt(string str)
{
int ret = 0 ;
try
{
ret = int.Parse(str) ;
}
catch
{
}
return ret ;
}
/// <summary>
/// 將字符串轉換為浮點數(shù)
/// </summary>
/// <param name="str">待轉換的字符串</param>
/// <returns>轉換后的浮點數(shù)</returns>
public static double StringToDouble(string str)
{
double ret = 0.0 ;
try
{
ret = double.Parse(str) ;
}
catch
{}
return ret ;
}
/// <summary>
/// 將字符串轉換為日期格式
/// </summary>
/// <param name="val">待轉換的字符串</param>
/// <returns>轉換后的日期</returns>
public static DateTime StringToDateTime(string val)
{
//若字符串為空,返回最小日期
if(val==string.Empty||val==null)
return System.DateTime.MinValue;
try
{
System.DateTime dt=System.DateTime.Parse(val);
return dt;
}
catch
{
return System.DateTime.MinValue;
}
}
public static string Today()
{
return DateTimeToString(System.DateTime.Today) ;
}
public static string NowFormat()
{
string ret = "" ;
string now = DateTime.Now.ToString() ;
string[] n = now.Split(new char[] {' ','-',':'}) ;
for(int i=0;i<n.Length;i++)
{
ret += n[i] ;
}
return ret ;
}
public static string DateTimeToString(DateTime d)
{
string ret = "" ;
try
{
ret = d.ToString("yyyy-MM-dd") ;
}
catch
{}
if(ret == "0001-01-01")
{
ret = "" ;
}
return ret ;
}
#endregion
#region 下拉框相關方法
// /// <summary>
// ///
// /// </summary>
// /// <param name="ddl"></param>
// /// <param name="table"></param>
// /// <param name="id"></param>
// /// <param name="text"></param>
// /// <param name="emptyLine"></param>
// public static void DDL_Init_Other(DropDownList ddl,string table,string id,string text,bool emptyLine)
// {
// string spName = "Doc_Value_InitDDL" ;
// object[] para = new object[] {valuetype} ;
//
// //調用SQL文初始化下拉框方法
// DDL_Init(ddl,spName,para,emptyLine) ;
// }
/// <summary>
/// 用VALUEID初始化下拉框
/// </summary>
/// <param name="ddl">下拉框ID</param>
/// <param name="valuetype">VALUETYPE</param>
/// <param name="emptyLine">是否包含空行</param>
public static void DDL_Init(DropDownList ddl,string valuetype,bool emptyLine)
{
//從Doc_Value表中讀取對應VALUETYPE的記錄的存儲過程
string spName = "Doc_Value_InitDDL" ;
//存儲過程參數(shù)
object[] para = new object[] {valuetype} ;
//調用SQL文初始化下拉框方法
DDL_Init(ddl,spName,para,emptyLine) ;
}
/// <summary>
/// 從存儲過程加載下拉框
/// </summary>
/// <param name="ddl"></param>
/// <param name="spName"></param>
/// <param name="para"></param>
/// <param name="emptyLine"></param>
public static void DDL_Init(DropDownList ddl,string spName,object[] para,bool emptyLine)
{
//通過存儲過程查詢數(shù)據
DataTable dt = DataAccess.ExecuteDataTable(spName,para) ;
//查詢結果為空
if(dt == null)
{
return ;
}
//在首行添加空行
if (emptyLine )
{
DataRow dr=dt.NewRow();
dr["VALUETEXT"]="";
dr["VALUEID"]="";
dt.Rows.InsertAt(dr,0);
}
//為下拉框綁定數(shù)據源
ddl.DataSource=dt;
ddl.DataTextField="VALUETEXT";
ddl.DataValueField="VALUEID";
ddl.DataBind();
}
/// <summary>
/// 顯示下拉框指定的行
/// </summary>
/// <param name="ddl">下拉框ID</param>
/// <param name="val">要顯示的值</param>
public static void DDL_ShowItem(DropDownList ddl,string val)
{
//若下拉框當前有選中行,清除
if(ddl.SelectedItem!=null)
{
ddl.SelectedItem.Selected=false;
}
for(int i=0;i<ddl.Items.Count;i++)
{
ListItem li=ddl.Items[i];
//找到下拉選項中,value等于給定值的
if(li.Value==val)
{
//將該選項置為選中狀態(tài)
li.Selected=true;
break;
}
}
}
/// <summary>
/// 通過下拉框將靜態(tài)數(shù)據的Value翻譯成Text
/// </summary>
/// <param name="ddl">下拉框</param>
/// <param name="val">待翻譯的Value</param>
/// <returns>返回Text</returns>
public static string DDL_ValueToText(DropDownList ddl,string val)
{
string ret = "" ;
for(int i=0;i<ddl.Items.Count;i++)
{
ListItem li = ddl.Items[i] ;
//從下拉框所有選項中找到Value等于給定值的
if(li.Value == val)
{
//獲取符合條件的選項的Text
ret = li.Text ;
break ;
}
}
return ret ;
}
#endregion
#region 執(zhí)行前臺腳本相關
/// <summary>
/// 整個頁面重定向到指定的URL
/// </summary>
/// <param name="pg">頁面</param>
/// <param name="url">URL</param>
public static void ReDirURL(System.Web.UI.Page pg,string url)
{
string cmd="<script for=document event=onreadystatechange language=javascript>\n"
+ "top.main.window.location='"
+ url
+ "'</script> " ;
pg.Response.Write(cmd);
}
/// <summary>
/// 頁面重定向到登錄頁
/// </summary>
/// <param name="pg">頁面</param>
public static void ReDirURL(System.Web.UI.Page pg)
{
string url = "Login.aspx" ;
ReDirURL(pg,url) ;
}
/// <summary>
/// 為按鈕添加確認信息
/// </summary>
/// <param name="btn">按鈕</param>
/// <param name="msg">確認信息內容</param>
public static void AddConfirm(Button btn,string msg)
{
//為按鈕添加確認信息
btn.Attributes.Add("onclick","return confirm('"+msg+"');");
}
public static void AddConfirm(LinkButton btn,string msg)
{
//為按鈕添加確認信息
btn.Attributes.Add("onclick","return confirm('"+msg+"');");
}
/// <summary>
/// 彈出提示框
/// </summary>
/// <param name="pg">頁面</param>
/// <param name="msg">提示信息</param>
public static void Alert(Page pg,string msg)
{
//由于前后臺處理特殊字符的方式不一致,需要轉換
//處理\\
string p=@"(\\)";
Regex r=new Regex(p,RegexOptions.IgnoreCase|RegexOptions.Singleline|RegexOptions.RightToLeft);
msg=r.Replace(msg,"\\\\");
//處理\n
p=@"(\n)";
r=new Regex(p,RegexOptions.IgnoreCase|RegexOptions.Singleline|RegexOptions.RightToLeft);
msg=r.Replace(msg,"\\n");
//處理\t
p=@"(\t)";
r=new Regex(p,RegexOptions.IgnoreCase|RegexOptions.Singleline|RegexOptions.RightToLeft);
msg=r.Replace(msg,"\\t");
//處理\r
p=@"(\r)";
r=new Regex(p,RegexOptions.IgnoreCase|RegexOptions.Singleline|RegexOptions.RightToLeft);
msg=r.Replace(msg,"\\r");
////處理\\[和\\\
msg=msg.Replace("'","\\[");
msg=msg.Replace("\"","\\\"");
//要向前臺輸出的提示命令
string cmd = "<script language=javascript for=document event=onreadystatechange>"
+ "alert('"
+ msg+"');"
+ "</script>" ;
//輸出前臺腳本
pg.Response.Write(cmd) ;
}
/// <summary>
/// 用IFRAME方式彈出模態(tài)對話框
/// </summary>
/// <param name="pg">頁面</param>
/// <param name="url">彈出頁面的URL</param>
public static void IFrame_PopUp(Page pg,string url)
{
string cmd=@"<script language=javascript for=window event=onload>
var w=screen.width;
var h=screen.height;
var iw=parseInt(w*0.7);
var ih=parseInt(h*0.5);
var style='dialogWidth:' + iw + 'px;dialogHeight:' +ih +'px;center:yes;scroll:no;status:no;help:no' ;
var ret=window.showModalDialog(
'Frame.aspx?url=" + pg.Server.UrlEncode(url) +
@"',window,style);
if((ret)&&(ret!=''))
{
window.location=ret;
}</script>";
pg.RegisterClientScriptBlock("pop",cmd) ;
}
/// <summary>
/// 用IFRAME方式彈出模態(tài)對話框,指定對話框大小
/// </summary>
/// <param name="Page">頁面</param>
/// <param name="url">彈出頁面的URL</param>
/// <param name="width">對話框寬度</param>
/// <param name="height">對話框高度</param>
public static void IFrame_PopUp(Page pg,string url, string width,string height)
{
string cmd=@"<script language=javascript for=window event=onload>
var iw=" + width + @";
var ih="+ height +@";
var style='dialogWidth:' + iw + 'px;dialogHeight:' +ih +'px;center:yes;scroll:no;status:no;help:no' ;
var ret=window.showModalDialog(
'Frame.aspx?url=" + pg.Server.UrlEncode(url) +
@"',window,style);
if((ret)&&(ret!=''))
{
window.location=ret;
}</script>";
pg.RegisterClientScriptBlock("pop",cmd) ;
}
/// <summary>
/// 需返回到后臺的確認框
/// </summary>
/// <param name="pg">頁面</param>
/// <param name="msg">確認信息</param>
/// <param name="CtlID">接收確認返回值的后臺文本框ID</param>
public static void ConfirmReturnServer(Page pg,string msg,string textbox)
{
string cmd = "var val=confirm('" + msg + "');"
+ "var txt=document.getElementById('" + textbox + "');"
+ "txt.value=val;"
+ "__doPostBack('" + textbox + "','')" ;
cmd = "<script>" + cmd + "</script>" ;
pg.RegisterStartupScript("con",cmd) ;
}
/// <summary>
/// 執(zhí)行前臺腳本
/// </summary>
/// <param name="pg">頁面</param>
/// <param name="cmd">前臺腳本</param>
public static void ExeClient(Page pg,string cmd)
{
cmd = "<script language=javascript>"
+ cmd
+ "</script>" ;
//輸出前臺腳本
pg.Response.Write(cmd) ;
}
#endregion
/// <summary>
/// 文本框設置為只讀
/// </summary>
/// <param name="tb">文本框</param>
/// <param name="flag">true:只讀</param>
public static void TextBoxReadOnly(TextBox tb,bool flag)
{
if(flag)
{
tb.ReadOnly = true ;
tb.BackColor = Color.Gray ;
}
else
{
tb.ReadOnly = false ;
tb.BackColor = Color.White ;
}
}
public static void BindGrid(DataGrid dg,DataTable dt)
{
if(dt == null)
dt = new DataTable() ;
dg.DataSource = dt ;
dg.DataBind() ;
}
public static string GetRequest(Page p,string val)
{
string ret = "" ;
ret = p.Request[val] ;
if(ret == null)
ret = "" ;
return ret ;
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -