?? x2page.cs
字號:
using System;
using System.Data;
using System.Data.SqlClient;
using System.Data.OleDb;
using System.Text;
using System.Web;
using System.Web.SessionState;
using System.Web.UI.WebControls;
using System.Web.UI;
using System.IO;
using System.Text.RegularExpressions;
namespace X2Design.UI
{
/// <summary>
/// WebPage的通用基類。實現了一些常用操作。
/// </summary>
public abstract class X2page : System.Web.UI.Page
{
/// <summary>
/// 表示數據庫訪問對象。通常需要另外一層繼承來實現站點相關的通用操作后再在頁面中使用。
/// </summary>
public X2Design.Data.DbOperHandler doh;
/// <summary>
/// 待實現的連接數據庫函數。
/// </summary>
public abstract void ConnectDb();
/// <summary>
/// 連接Sql Server數據庫。
/// </summary>
/// <param name="serverName">服務器地址。</param>
/// <param name="userName">用戶名。</param>
/// <param name="password">密碼。</param>
/// <param name="dataBaseName">數據庫名稱。</param>
public void ConnectDb(string serverName,string userName,string password,string dataBaseName)
{
System.Data.SqlClient.SqlConnection sqlConn=new System.Data.SqlClient.SqlConnection("server='"+serverName+"';uid="+userName+";pwd="+password+";database=" + dataBaseName);
doh=new X2Design.Data.SqlDbOperHandler(sqlConn);
}
/// <summary>
/// 頁面初始化的通用操作
/// </summary>
/// <param name="e"></param>
override protected void OnInit(EventArgs e)
{
X2Init();
base.OnInit(e);
}
/// <summary>
/// 頁面初始化
/// </summary>
protected virtual void X2Init()
{
this.Unload+=new EventHandler(X2page_Unload);
}
/// <summary>
/// 連接到一個Access數據庫。
/// </summary>
/// <param name="dataBase">數據庫名稱。</param>
public void ConnectDb(string dataBase)
{
System.Data.OleDb.OleDbConnection oleConn=new System.Data.OleDb.OleDbConnection("provider=microsoft.jet.oledb.4.0;data source=" +this.Server.MapPath(dataBase));
doh=new X2Design.Data.OleDbOperHandler(oleConn);
}
/// <summary>
/// 在客戶端顯示彈出對話框。
/// </summary>
/// <param name="msg">要顯示的信息。</param>
public void Alert(string msg)
{
this.RegisterStartupScript("alert","<script language=\"javascript\">alert('"+msg+"');</script>");
}
/// <summary>
/// 在客戶端顯示彈出對話框。
/// </summary>
/// <param name="name">腳本塊標識。當同一頁面要調用兩個彈出框時需不同的標識,否則后者會覆蓋前者。</param>
/// <param name="msg">要顯示的信息。</param>
public void Alert(string name,string msg)
{
this.RegisterStartupScript(name,"<script language=javascript>alert('"+msg+"');</script>");
}
/// <summary>
/// 在客戶端執行一段腳本。
/// </summary>
/// <param name="name">腳本框表示。</param>
/// <param name="cmd">要執行的命令。</param>
public void JsExe(string name,string cmd)
{
this.RegisterStartupScript(name,"<script language=javascript>"+cmd+"</script>");
}
/// <summary>
/// 檢測一個字符串是否可以轉化為日期。
/// </summary>
/// <param name="date">日期字符串。</param>
/// <returns>是否可以轉換。</returns>
public bool IsStringDate(string date)
{
DateTime dt;
try
{
dt=DateTime.Parse(date);
}
catch(FormatException e)
{
//日期格式不正確時
e.ToString();
return false;
}
return true;
}
/// <summary>
/// 判斷驗證碼是否符合要求
/// </summary>
/// <param name="code">用戶輸入的驗證碼</param>
/// <returns>返回驗證碼是否正確</returns>
public bool CheckValidateCode(string code)
{
try
{
if(code.ToUpper()!=Session["x2_validate_code"].ToString().ToUpper())return false;
return true;
}
catch(Exception e)
{
e.ToString();
return false;
}
}
/// <summary>
/// 重置驗證碼
/// </summary>
public void ResetValidateCode()
{
char[] chars="23456789abcdefghjkmnpqrstuvwxyz".ToCharArray();
System.Random random=new Random();
string validateCode=string.Empty;
for(int i=0;i<4;i++)validateCode+=chars[random.Next(0,chars.Length)].ToString();
Session["x2_validate_code"]=validateCode;
}
/// <summary>
/// 替換html中的特殊字符
/// </summary>
/// <param name="theString">需要進行替換的文本。</param>
/// <returns>替換完的文本。</returns>
public string HtmlEncode(string theString)
{
theString=theString.Replace(">", ">");
theString=theString.Replace("<", "<");
theString=theString.Replace(" ", " ");
theString=theString.Replace(" ", " ");
theString=theString.Replace("\"", """);
theString=theString.Replace("\'", "'");
theString=theString.Replace("\n", "<br/> ");
return theString;
}
/// <summary>
/// 恢復html中的特殊字符
/// </summary>
/// <param name="theString">需要恢復的文本。</param>
/// <returns>恢復好的文本。</returns>
public string HtmlDiscode(string theString)
{
theString=theString.Replace(">", ">");
theString=theString.Replace("<", "<");
theString=theString.Replace(" "," ");
theString=theString.Replace(" "," ");
theString=theString.Replace(""","\"");
theString=theString.Replace("'","\'");
theString=theString.Replace("<br/> ","\n");
return theString;
}
/// <summary>
/// 當頁面從內存卸載時發生,關閉數據庫連接
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void X2page_Unload(object sender, EventArgs e)
{
if(doh!=null)doh.Dispose();
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -