📄 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 + -