.NET SWCNToolkit
namespace SWCNToolkit
{
#region using Namespace
using Microsoft.VisualBasic;
using System;
using System.Collections;
using System.Data;
using System.Data.OleDb;
using System.Data.SqlClient;
using System.Drawing;
using System.IO;
using System.Net;
using System.Text;
using System.Text.RegularExpressions;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Web.Security;
using SWCNToolkit;
#endregion
#region class BaseKit
public class BaseKit
{
#region private object
private Hashtable __ht;
#endregion
#region public BaseKit()
public BaseKit()
: base()
{
this.__ht = new Hashtable();
this["_RegularExpressionOptions"] = RegexOptions.Compiled | RegexOptions.IgnoreCase;
}
#endregion
#region public object this[object key]
public object this[object key]
{
get
{
return this.__ht[key];
}
set
{
if (this.__ht[key] == null)
{
this.__ht.Add(key, value);
}
else
{
this.__ht[key] = value;
}
}
}
#endregion
}
#endregion
#region unuse
/*
public class CharsetKit : BaseKit
{
public CharsetKit() : base()
{
}
public string Simple2Tradition(string value)
{
return Strings.StrConv(value , VbStrConv.TraditionalChinese , 0);
}
public string Tradition2Simple(string value)
{
return Strings.StrConv(value , VbStrConv.SimplifiedChinese , 0);
}
}
//Web page translation toolkit
public class WebRequestTranslationKit : BaseKit
{
// public string Simple2Tradition(string url , string bufPath)
private StringBuilder _sb;
private string _strServiceUrl;
public string ServiceUrl
{
get
{
return this._strServiceUrl;
}
set
{
this._strServiceUrl = value;
}
}
public WebRequestTranslationKit() : base()
{
this._sb = new StringBuilder();
this.ServiceUrl = "";
}
public string Simple2Tradition(string url , string bufPath)
{
FileInfo fiCompiled = new FileInfo(bufPath + FormsAuthentication.HashPasswordForStoringInConfigFile(url , "MD5") + ".htm");
if (fiCompiled.Exists == true)
{
return fiCompiled.Name;
}
WebRequest rq = WebRequest.Create(url);
WebResponse rp = rq.GetResponse();
Stream stm = rp.GetResponseStream();
StreamReader stmrd = new StreamReader(stm , Encoding.GetEncoding("gb2312"));
char[] chrsBuf = new char[256];
int intCount = stmrd.Read(chrsBuf , 0 , chrsBuf.Length);
this._sb = new StringBuilder();
while (intCount > 0)
{
this._sb.Append(new String(chrsBuf , 0 , intCount));
intCount = stmrd.Read(chrsBuf , 0 , chrsBuf.Length);
}
rp.Close();
string strDomain = "";
string strDomainRoot = "";
string strDomainPath = "";
string strDomainFile = "";
strDomain = rp.ResponseUri.Scheme + "://" + rp.ResponseUri.Host + ":" + rp.ResponseUri.Port.ToString();
strDomainRoot = strDomain + "/";
string _strROS = rp.ResponseUri.OriginalString;
strDomainFile = strDomain;
for (int i = 0 ; i < rp.ResponseUri.Segments.Length ; i++)
{
strDomainFile += rp.ResponseUri.Segments[i];
}
strDomainPath = strDomainFile.Substring(0 , strDomainFile.LastIndexOf("/")) + "/";
strDomainFile = strDomainRoot.Substring(0 , strDomainRoot.Length-1) + rp.ResponseUri.AbsolutePath;
ArrayList arlRegexs = new ArrayList();
ArrayList arlReplaces = new ArrayList();
RegexOptions rxopt = RegexOptions.Compiled | RegexOptions.IgnoreCase;
//Change charset definition for the page
// arlRegexs.Add(new Regex(@"<meta\s+http-equiv=\x22Content-Type\x22\s+content=\x22text/html;\s+charset=gb2312\x22>" , _rxopt));
// arlReplaces.Add("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">");
//Clean more than 2 blank characters
arlRegexs.Add(new Regex(@"\s{2,}" , rxopt));
arlReplaces.Add(" ");
//<iframe src=http://
arlRegexs.Add(new Regex(@"<iframe\s*href\s*=\s*(?!'|\x22|\?)http://" , rxopt));
arlReplaces.Add("<iframe src=" + this.ServiceUrl + "http://");
//<iframe src='http://
arlRegexs.Add(new Regex(@"<iframe\s*href\s*=\s*'(?!\?)http://" , rxopt));
arlReplaces.Add("<iframe src='" + this.ServiceUrl + "http://");
//<iframe src="http://
arlRegexs.Add(new Regex(@"<iframe\s*href\s*=\s*\x22(?!\?)http://" , rxopt));
arlReplaces.Add("<iframe src=\""+this.ServiceUrl + "http://");
//src=/
arlRegexs.Add(new Regex(@"\s*src\s*=\s*(?!'|\x22)/" , rxopt));
arlReplaces.Add(" src=" + strDomainRoot);
//src='/
arlRegexs.Add(new Regex(@"\s*src\s*=\s*'/" , rxopt));
arlReplaces.Add(" src='" + strDomainRoot);
//src="/
arlRegexs.Add(new Regex(@"\s*src\s*=\s*\x22/" , rxopt));
arlReplaces.Add(" src=\"" + strDomainRoot);
//src=
arlRegexs.Add(new Regex(@"\s*src\s*=\s*(?!'|\x22|http://)" , rxopt));
arlReplaces.Add(" src=" + strDomainPath);
//src='
arlRegexs.Add(new Regex(@"\s*src\s*=\s*'(?!http://)" , rxopt));
arlReplaces.Add(" src='" + strDomainPath);
//src="
arlRegexs.Add(new Regex(@"\s*src\s*=\s*\x22(?!http://)" , rxopt));
arlReplaces.Add(" src=\"" + strDomainPath);
//action='
arlRegexs.Add(new Regex(@"\s*action\s*=\s*'(?!/|\?)" , rxopt));
arlReplaces.Add(" action='" + strDomainPath);
//action="
arlRegexs.Add(new Regex(@"\s*action\s*=\s*\x22(?!/|\?)" , rxopt));
arlReplaces.Add(" action=\"" + strDomainPath);
//action='/
arlRegexs.Add(new Regex(@"\s*action\s*=\s*'/(?!\?)" , rxopt));
arlReplaces.Add(" action='" + strDomainRoot);
//action="/
arlRegexs.Add(new Regex(@"\s*action\s*=\s*\x22/(?!\?)" , rxopt));
arlReplaces.Add(" action=\"" + strDomainRoot);
//action='?
arlRegexs.Add(new Regex(@"\s*action\s*=\s*'\?" , rxopt));
arlReplaces.Add(" action='" + strDomainFile + "?");
//action="?
arlRegexs.Add(new Regex(@"\s*action\s*=\s*\x22\?" , rxopt));
arlReplaces.Add(" action=\"" + strDomainFile + "?");
//backgorund=/
arlRegexs.Add(new Regex(@"\s*background\s*=\s*(?!'|\x22)/" , rxopt));
arlReplaces.Add(" background=" + strDomainRoot);
//background='/
arlRegexs.Add(new Regex(@"\s*background\s*=\s*'/" , rxopt));
arlReplaces.Add(" background='" + strDomainRoot);
//background="/
arlRegexs.Add(new Regex(@"\s*background\s*=\s*\x22/" , rxopt));
arlReplaces.Add(" background=\"" + strDomainRoot);
//background=
arlRegexs.Add(new Regex(@"\s*background\s*=\s*(?!'|\x22|http://)" , rxopt));
arlReplaces.Add(" background=" + strDomainPath);
//background='
arlRegexs.Add(new Regex(@"\s*background\s*=\s*'(?!http://)" , rxopt));
arlReplaces.Add(" background='" + strDomainPath);
//background="
arlRegexs.Add(new Regex(@"\s*background\s*=\s*\x22(?!http://)" , rxopt));
arlReplaces.Add(" background=\"" + strDomainPath);
//href=http://
arlRegexs.Add(new Regex(@"\s*href\s*=\s*(?!'|\x22|\?)http://" , rxopt));
arlReplaces.Add(" href=" + this.ServiceUrl + "http://");
//href='http://
arlRegexs.Add(new Regex(@"\s*href\s*=\s*'(?!\?)http://" , rxopt));
arlReplaces.Add(" href='" + this.ServiceUrl + "http://");
//href="http://
arlRegexs.Add(new Regex(@"\s*href\s*=\s*\x22(?!\?)http://" , rxopt));
arlReplaces.Add(" href=\"" + this.ServiceUrl + "http://");
//href=..
arlRegexs.Add(new Regex(@"\s*href\s*=\s*(?!'|\x22|\?)\.\." , rxopt));
arlReplaces.Add(" href=" + this.ServiceUrl + strDomainPath + "..");
//href='..
arlRegexs.Add(new Regex(@"\s*href\s*=\s*'(?!\?)\.\." , rxopt));
arlReplaces.Add(" href='" + this.ServiceUrl + strDomainPath + "..");
//href="..
arlRegexs.Add(new Regex(@"\s*href\s*=\s*\x22(?!\?)\.\." , rxopt));
arlReplaces.Add(" href=\"" + this.ServiceUrl + strDomainPath + "..");
//href=/
arlRegexs.Add(new Regex(@"\s*href\s*=\s*(?!'|\x22|\?)/" , rxopt));
arlReplaces.Add(" href=" + this.ServiceUrl + strDomainRoot);
//href='/
arlRegexs.Add(new Regex(@"\s*href\s*=\s*'(?!\?)/" , rxopt));
arlReplaces.Add(" href='" + this.ServiceUrl + strDomainRoot);
//href="/
arlRegexs.Add(new Regex(@"\s*href\s*=\s*\x22(?!\?)/" , rxopt));
arlReplaces.Add(" href=\"" + this.ServiceUrl + strDomainRoot);
//href=?
arlRegexs.Add(new Regex(@"\s*href\s*=\s*(?!'|\x22|\?)\?" , rxopt));
arlReplaces.Add(" href=" + this.ServiceUrl + strDomainFile + "?");
//href='?
arlRegexs.Add(new Regex(@"\s*href\s*=\s*'\?" , rxopt));
arlReplaces.Add(" href='" + this.ServiceUrl + strDomainFile + "?");
//href="?
arlRegexs.Add(new Regex(@"\s*href\s*=\s*\x22\?" , rxopt));
arlReplaces.Add(" href=\"" + this.ServiceUrl + strDomainFile + "?");
//href=
arlRegexs.Add(new Regex(@"\s*href\s*=\s*(?!'|\x22|\?|mailto:|http://|\.\.)" , rxopt));
arlReplaces.Add(" href=" + this.ServiceUrl + strDomainPath);
//href='
arlRegexs.Add(new Regex(@"\s*href\s*=\s*'(?!mailto:|http://|\?|\.\.)" , rxopt));
arlReplaces.Add(" href='" + this.ServiceUrl + strDomainPath);
//href="
arlRegexs.Add(new Regex(@"\s*href\s*=\s*\x22(?!mailto:|http://|\?|\.\.)" , rxopt));
arlReplaces.Add(" href=\"" + this.ServiceUrl + strDomainPath);
//<link href=http://localhost/stot/?u=
arlRegexs.Add(new Regex(@"<link\s*(rel=\x22stylesheet\x22\s*)?href\s*=\s*" + this.ServiceUrl.Replace("?" , @"\?") , rxopt));
arlReplaces.Add("<link rel=stylesheet href=");
//<link href='http://localhost/stot/?u=
arlRegexs.Add(new Regex(@"<link\s*(rel=\x22stylesheet\x22\s*)?href\s*=\s*'" + this.ServiceUrl.Replace("?" , @"\?") , rxopt));
arlReplaces.Add("<link rel='stylesheet' href='");
//<link href="http://localhost/stot/?u=
arlRegexs.Add(new Regex(@"<link\s*(rel=\x22stylesheet\x22\s*)?href\s*=\s*\x22" + this.ServiceUrl.Replace("?" , @"\?") , rxopt));
arlReplaces.Add("<link rel=\"stylesheet\" href=\"");
//url(/
arlRegexs.Add(new Regex(@"\s*url\s*\((?!'|\x22)/" , rxopt));
arlReplaces.Add(" url(" + strDomainRoot);
//url('/
arlRegexs.Add(new Regex(@"\s*url\s*\('/" , rxopt));
arlReplaces.Add(" url('" + strDomainRoot);
//url("/
arlRegexs.Add(new Regex(@"\s*url\s*\(\x22/" , rxopt));
arlReplaces.Add(" url(\"" + strDomainRoot);
//url(
arlRegexs.Add(new Regex(@"\s*url\s*\((?!'|\x22|http://)" , rxopt));
arlReplaces.Add(" url(" + strDomainPath);
//url('
arlRegexs.Add(new Regex(@"\s*url\s*\('(?!http://)" , rxopt));
arlReplaces.Add(" url('" + strDomainPath);
//url("
arlRegexs.Add(new Regex(@"\s*url\s*\(\x22(?!http://)" , rxopt));
arlReplaces.Add(" url(\"" + strDomainPath);
//<param name=movie value=/
arlRegexs.Add(new Regex(@"<param\s+name=(?!'|\x22)movie(?!'|\x22)\s+value=(?!'|\x22)/" , rxopt));
arlReplaces.Add("<param name=movie value=" + strDomainRoot);
//<param name='movie' value='/
arlRegexs.Add(new Regex(@"<param\s+name='movie'\s+value='/" , rxopt));
arlReplaces.Add("<param name='movie' value='" + strDomainRoot);
//<param name="movie" value="/
arlRegexs.Add(new Regex(@"<param\s+name=\x22movie\x22\s+value=\x22/" , rxopt));
arlReplaces.Add("<param name=\"movie\" value=\"" + strDomainRoot);
//<param name=movie value=
arlRegexs.Add(new Regex(@"<param\s+name=(?!'|\x22)movie(?!'|\x22)\s+value=(?!'|\x22|http://)" , rxopt));
arlReplaces.Add("<param name=movie value=" + strDomainPath);
//<param name='movie' value='
arlRegexs.Add(new Regex(@"<param\s+name='movie'\s+value='(?!http://)" , rxopt));
arlReplaces.Add("<param name='movie' value='" + strDomainPath);
//<param name="movie" value="
arlRegexs.Add(new Regex(@"<param\s+name=\x22movie\x22\s+value=\x22(?!http://)" , rxopt));
arlReplaces.Add("<param name=\"movie\" value=\"" + strDomainPath);
//<param name=src value=/
arlRegexs.Add(new Regex(@"<param\s+name=(?!'|\x22)src(?!'|\x22)\s+value=\s*(?!'|\x22)/" , rxopt));
arlReplaces.Add("<param name=src value=" + strDomainRoot);
//<param name='src' value='/
arlRegexs.Add(new Regex(@"<param\s+name='src'\s+value=\s*'/" , rxopt));
arlReplaces.Add("<param name='src' value='" + strDomainRoot);
//<param name="src" value="/
arlRegexs.Add(new Regex(@"<param\s+name=\x22src\x22\s+value=\s*\x22/" , rxopt));
arlReplaces.Add("<param name=\"src\" value=\"" + strDomainRoot);
//<param name=src value=
arlRegexs.Add(new Regex(@"<param\s+name=(?!'|\x22)src(?!'|\x22)\s+value=(?!'|\x22)(?!http://)" , rxopt));
arlReplaces.Add("<param name=src value=" + strDomainPath);
//<param name='src' value='
arlRegexs.Add(new Regex(@"<param\s+name='src'\s+value='(?!http://)" , rxopt));
arlReplaces.Add("<param name='src' value='" + strDomainPath);
//<param name="src" value="
arlRegexs.Add(new Regex(@"<param\s+name=\x22src\x22\s+value=\x22(?!http://)" , rxopt));
arlReplaces.Add("<param name=\"src\" value=\"" + strDomainPath);
IEnumerator ienmRegexs = arlRegexs.GetEnumerator();
IEnumerator ienmReplaces = arlReplaces.GetEnumerator();
while (ienmRegexs.MoveNext() == true && ienmReplaces.MoveNext() == true)
{
Regex ex = (Regex)ienmRegexs.Current;
string strReplace = this.C2S(ienmReplaces.Current);
this._sb = new StringBuilder(ex.Replace(this._sb.ToString() , strReplace));
}
StreamWriter stmwt = new StreamWriter(fiCompiled.FullName , false , Encoding.GetEncoding("gb2312"));
stmwt.Write(new CharsetKit().Simple2Tradition(this._sb.ToString()));
stmwt.Close();
return fiCompiled.Name;
}
}
*/
#endregion
#region class SQLSDbKit : BaseKit
public class SQLSDbKit : BaseKit
{
#region private void _eh_votepage(object o, DataGridPageChangedEventArgs e)
private void _eh_votepage(object o, DataGridPageChangedEventArgs e)
{
DataGrid dg = (DataGrid)o;
try
{
dg.CurrentPageIndex = e.NewPageIndex;
}
catch (Exception expt)
{
dg.CurrentPageIndex = 0;
}
dg.DataBind();
}
#endregion
#region private void _eh_changingpage(object o, GridViewPageEventArgs e)
private void _eh_changingpage(object o, GridViewPageEventArgs e)
{
GridView gv = (GridView)o;
try
{
gv.PageIndex = e.NewPageIndex;
}
catch (Exception expt)
{
gv.PageIndex = 0;
}
gv.DataBind();
}
#endregion
#region private void _eh_repeater_HierarchicalRepeaterItemDataBound(object sender, RepeaterItemEventArgs e)
private void _eh_repeater_HierarchicalRepeaterItemDataBound(object sender, RepeaterItemEventArgs e)
{
Repeater rptChild = (Repeater)e.Item.FindControl(new VariantKit().C2S(this["HierarchicalChildID"]));
DataRowView rowv = (DataRowView)e.Item.DataItem;
if (rptChild != null && rowv != null)
{
this.DataBind(rptChild, new StringKit().GetFormatString(new VariantKit().C2S(this["HierarchicalSQLFormatString"]), rowv[(new VariantKit().C2S(this["HierarchicalSQLFormatStringKeyField"]))].ToString()));
}
}
#endregion
#region private void _eh_repeater_HierarchicalDataGridItemDataBound(object sender, RepeaterItemEventArgs e)
private void _eh_repeater_HierarchicalDataGridItemDataBound(object sender, RepeaterItemEventArgs e)
{
DataGrid dgChild = (DataGrid)e.Item.FindControl(new VariantKit().C2S(this["HierarchicalChildID"]));
DataRowView rowv = (DataRowView)e.Item.DataItem;
if (dgChild != null && rowv != null)
{
this.DataBind(dgChild, new StringKit().GetFormatString(new VariantKit().C2S(this["HierarchicalSQLFormatString"]), rowv[(new VariantKit().C2S(this["HierarchicalSQLFormatStringKeyField"]))].ToString()));
}
}
#endregion
#region public SQLSDbKit()
public SQLSDbKit()
: base()
{
this["ConnectionString"] = "";
this["Debugging"] = false;
this["DebuggingTipFormatString"] = "<script language=\"javascript\">var t_{0}=\"{0}\"; var c_{0}=\"{1}\";</script><a class=\"DebuggingTip\" href=\"javascript:MessageBoxTip(t_{0}, c_{0});\" title=\"View SQL\">{0}</a>";
this["PageableRepeaterPaggingFormatString"] = "<div class=\"AlignCenter\"><a href=\"{0}={1}\" class=\"PaggingArrow\">9</a><a href=\"{0}={2}\" class=\"PaggingArrow\">7</a> {3} / {4} / {5} <a href=\"{0}={6}\" class=\"PaggingArrow\">8</a><a href=\"{0}={7}\" class=\"PaggingArrow\">:</a></div>";
}
#endregion
#region public int DataBind(Repeater rpt, object sql)
public int DataBind(Repeater rpt, object sql)
{
int intReturn = 0;
DataSet ds = new DataSet();
intReturn = new SqlDataAdapter(new VariantKit().C2S(sql), new VariantKit().C2S(this["ConnectionString"])).Fill(ds, "#");
rpt.DataSource = ds.Tables["#"];
rpt.DataBind();
DebugKit dk = new DebugKit(this["Debugging"]);
Literal ltr = null;
try
{
ltr = ((Literal)((RepeaterItem)rpt.Controls[0]).FindControl(dk.TrackInfoViewerID));
}
catch (Exception expt)
{
;
}
if (ltr != null && dk.Debugging == true)
{
ltr.Text = new StringKit().GetFormatString(this["DebuggingTipFormatString"], rpt.ID, sql);
}
return intReturn;
}
#endregion
#region public int DataBind(PagedDataSource pds, object sql)
public int DataBind(PagedDataSource pds, object sql)
{
int intReturn = 0;
DataSet ds = new DataSet();
intReturn = new SqlDataAdapter(new VariantKit().C2S(sql), new VariantKit().C2S(this["ConnectionString"])).Fill(ds, "#");
pds.DataSource = ds.Tables["#"].DefaultView;
return intReturn;
}
#endregion
#region public int DataBindPageableRepeater(Repeater rpt, object sql, BaseKit pageinfo)
public int DataBindPageableRepeater(Repeater rpt, object sql, BaseKit pageinfo)
{
int intReturn = 0;
PagedDataSource pds = new PagedDataSource();
this.DataBind(pds, sql);
pds.AllowPaging = true;
pds.PageSize = new VariantKit().C2I32(pageinfo["PageSize"]);
pds.CurrentPageIndex = new VariantKit().C2I32(pageinfo["PageIndex"]) < 1 ? new VariantKit().C2I32(pageinfo["PageIndex"]) : new VariantKit().C2I32(pageinfo["PageIndex"]) - 1;
rpt.DataSource = pds;
rpt.DataBind();
int pageindex = 1;
int pageprevious = 1;
int pagenext = 1;
int pagecount = 1;
pageindex = pds.CurrentPageIndex + 1;
pagecount = pds.PageCount;
pageprevious = pageindex <= 1 ? pagecount : pageindex - 1;
pagenext = pageindex >= pagecount ? 1 : pageindex + 1;
Literal navigator = new Literal();
navigator.ID = "navigator";
navigator.Text = new StringKit().GetFormatString(this["PageableRepeaterPaggingFormatString"], pageinfo["PageQueryFormatString"], 1, pageprevious, pds.PageSize, pageindex, pagecount, pagenext, pagecount);
rpt.Controls.Add(navigator);
DebugKit dk = new DebugKit(this["Debugging"]);
Literal ltr = null;
try
{
ltr = ((Literal)((RepeaterItem)rpt.Controls[0]).FindControl(dk.TrackInfoViewerID));
}
catch (Exception expt)
{
;
}
if (ltr != null && dk.Debugging == true)
{
ltr.Text = new StringKit().GetFormatString(this["DebuggingTipFormatString"], rpt.ID, sql);
}
return intReturn;
}
#endregion
#region public int DataBindHierarchicalRepeater(Repeater rpt, object sql)
public int DataBindHierarchicalRepeater(Repeater rpt, object sql)
{
int intReturn = 0;
DataSet ds = new DataSet();
intReturn = new SqlDataAdapter(new VariantKit().C2S(sql), new VariantKit().C2S(this["ConnectionString"])).Fill(ds, "#");
rpt.DataSource = ds.Tables["#"];
rpt.ItemDataBound += this._eh_repeater_HierarchicalRepeaterItemDataBound;
rpt.DataBind();
DebugKit dk = new DebugKit(this["Debugging"]);
Literal ltr = null;
try
{
ltr = ((Literal)((RepeaterItem)rpt.Controls[0]).FindControl(dk.TrackInfoViewerID));
}
catch (Exception expt)
{
;
}
if (ltr != null && dk.Debugging == true)
{
ltr.Text = new StringKit().GetFormatString(this["DebuggingTipFormatString"], rpt.ID, sql);
}
return intReturn;
}
#endregion
#region public int DataBindHierarchicalDataGrid(Repeater rpt, object sql)
public int DataBindHierarchicalDataGrid(Repeater rpt, object sql)
{
int intReturn = 0;
DataSet ds = new DataSet();
intReturn = new SqlDataAdapter(new VariantKit().C2S(sql), new VariantKit().C2S(this["ConnectionString"])).Fill(ds, "#");
rpt.DataSource = ds.Tables["#"];
rpt.ItemDataBound += this._eh_repeater_HierarchicalDataGridItemDataBound;
rpt.DataBind();
return intReturn;
}
#endregion
#region public int DataBind(DataGrid dg, object sql)
public int DataBind(DataGrid dg, object sql)
{
int intReturn = 0;
DataSet ds = new DataSet();
intReturn = new SqlDataAdapter(new VariantKit().C2S(sql), new VariantKit().C2S(this["ConnectionString"])).Fill(ds, "#");
dg.AutoGenerateColumns = false;
dg.GridLines = GridLines.None;
dg.AllowPaging = true;
dg.Width = new Unit(100, UnitType.Percentage);
dg.PagerStyle.Visible = ds.Tables["#"].Rows.Count == 0 ? false : true;
dg.PagerStyle.BackColor = Color.FromArgb(0x78eeeeee);
dg.PagerStyle.Mode = PagerMode.NumericPages;
dg.PagerStyle.HorizontalAlign = HorizontalAlign.Center;
dg.PageIndexChanged += this._eh_votepage;
try
{
dg.DataSource = ds.Tables["#"];
dg.CurrentPageIndex = 0;
dg.DataBind();
}
catch (Exception expt)
{
dg.CurrentPageIndex = 0;
dg.DataBind();
}
return intReturn;
}
#endregion
#region public int DataBind(GridView gv, object sql)
public int DataBind(GridView gv, object sql)
{
int intReturn = 0;
DataSet ds = new DataSet();
intReturn = new SqlDataAdapter(new VariantKit().C2S(sql), new VariantKit().C2S(this["ConnectionString"])).Fill(ds, "#");
gv.AutoGenerateColumns = false;
gv.ShowFooter = true;
gv.FooterStyle.HorizontalAlign = HorizontalAlign.Center;
gv.EmptyDataText = "[Nothing]";
gv.GridLines = GridLines.None;
gv.AllowPaging = true;
gv.Width = new Unit(100, UnitType.Percentage);
gv.PagerStyle.BackColor = Color.FromArgb(0xeeeeee);
gv.PagerStyle.HorizontalAlign = HorizontalAlign.Center;
gv.PagerSettings.Mode = PagerButtons.NumericFirstLast;
gv.PageIndexChanging += new GridViewPageEventHandler(this._eh_changingpage);
try
{
gv.DataSource = ds.Tables["#"];
gv.DataBind();
}
catch (Exception expt)
{
gv.DataBind();
}
return intReturn;
}
#endregion
#region public object GetScalar(object sql)
public object GetScalar(object sql)
{
SqlCommand cmd = new SqlCommand(new VariantKit().C2S(sql), new SqlConnection(new VariantKit().C2S(this["ConnectionString"])));
cmd.Connection.Open();
return cmd.ExecuteScalar();
}
#endregion
#region public void Execute(object sql)
public void Execute(object sql)
{
SqlCommand cmd = new SqlCommand(new VariantKit().C2S(sql), new SqlConnection(new VariantKit().C2S(this["ConnectionString"])));
cmd.Connection.Open();
cmd.ExecuteNonQuery();
}
#endregion
#region public DataTable ExecuteDataTable(object sql)
public DataTable ExecuteDataTable(object sql)
{
DataSet ds = new DataSet();
new SqlDataAdapter(new VariantKit().C2S(sql), new VariantKit().C2S(this["ConnectionString"])).Fill(ds, "#");
return ds.Tables["#"];
}
#endregion
}
#endregion
#region class HtmlKit : BaseKit
public class HtmlKit : BaseKit
{
#region public HtmlKit()
public HtmlKit()
: base()
{
}
#endregion
#region public string GetDecode(object value)
public string GetDecode(object value)
{
return new Regex(@"<\w*(\s\w*=\w*)*>|</\w*>|( )*|\s*", (RegexOptions)this["_RegularExpressionOptions"]).Replace(new VariantKit().C2S(value), "");
}
#endregion
}
#endregion
#region class StringKit : BaseKit
public class StringKit : BaseKit
{
#region public StringKit()
public StringKit()
: base()
{
this["__StringBuilder"] = new StringBuilder();
}
#endregion
#region public void Reset()
public void Reset()
{
this["__StringBuilder"] = new StringBuilder();
}
#endregion
#region public void Reset2(object value)
public void Reset2(object value)
{
this["__StringBuilder"] = new StringBuilder(new VariantKit().C2S(value));
}
#endregion
#region public void Append(object value)
public void Append(object value)
{
((StringBuilder)this["__StringBuilder"]).Append(new VariantKit().C2S(value));
}
#endregion
#region public void Append(object format, params object[] args)
public void Append(object format, params object[] args)
{
((StringBuilder)this["__StringBuilder"]).AppendFormat(new VariantKit().C2S(format), args);
}
#endregion
#region public void AppendLine(object value)
public void AppendLine(object value)
{
((StringBuilder)this["__StringBuilder"]).AppendLine(new VariantKit().C2S(value));
}
#endregion
#region public void AppendLine()
public void AppendLine()
{
((StringBuilder)this["__StringBuilder"]).AppendLine();
}
#endregion
#region public string GetContent()
public string GetContent()
{
return ((StringBuilder)this["__StringBuilder"]).ToString();
}
#endregion
#region public string GetSubString(object value, int startIndex, int length)
public string GetSubString(object value, int startIndex, int length)
{
string ret = new VariantKit().C2S(value);
if (startIndex > ret.Length)
{
ret = "";
}
else
{
if (length > ret.Length - startIndex)
{
length = ret.Length - startIndex;
}
ret = ret.Substring(startIndex, length);
}
return ret;
}
#endregion
#region public string GetSubString(object value, int length)
public string GetSubString(object value, int length)
{
return this.GetSubString(value, 0, length);
}
#endregion
#region public string GetFormatString(object format, params object[] args)
public string GetFormatString(object format, params object[] args)
{
return String.Format(new VariantKit().C2S(format), args);
}
#endregion
#region public bool HasContent(object value)
public bool HasContent(object value)
{
bool ret = true;
switch (new VariantKit().C2S(value).Length)
{
case 0:
{
ret = false;
break;
}
default:
{
ret = true;
break;
}
}
return ret;
}
#endregion
#region public int GetContentLength(object value)
public int GetContentLength(object value)
{
return new VariantKit().C2S(value).Length;
}
#endregion
}
#endregion
#region class SQLQueryKit : StringKit
public class SQLQueryKit : StringKit
{
#region public enum Key
public enum Key
{
Select,
From,
Where,
And,
Or,
OrderBy,
Desc,
Asc,
Union,
All,
UnionSelect,
UnionAllSelect,
IfIsNull,
IfIsNotNull,
DropTable,
Into,
NotIn,
In,
Top
};
#endregion
#region public void Append(Key sk)
public void Append(Key sk)
{
switch (sk)
{
case Key.Union:
{
this.Append(" UNION ");
break;
}
case Key.All:
{
this.Append(" ALL ");
break;
}
case Key.Top:
{
this.Append(" TOP ");
break;
}
default:
{
break;
}
}
}
#endregion
#region public void Append(Key sk, object value)
public void Append(Key sk, object value)
{
switch (sk)
{
case Key.Select:
{
this.Append(this.GetFormatString(" SELECT {0} ", value));
break;
}
case Key.UnionSelect:
{
this.Append(this.GetFormatString(" UNION SELECT {0} ", value));
break;
}
case Key.UnionAllSelect:
{
this.Append(this.GetFormatString(" UNION ALL SELECT {0} ", value));
break;
}
case Key.From:
{
this.Append(this.GetFormatString(" FROM {0} ", value));
break;
}
case Key.Where:
{
this.Append(this.GetFormatString(" WHERE {0} ", value));
break;
}
case Key.And:
{
this.Append(this.GetFormatString(" AND {0} ", value));
break;
}
case Key.Or:
{
this.Append(this.GetFormatString(" OR {0} ", value));
break;
}
case Key.OrderBy:
{
this.Append(this.GetFormatString(" ORDER BY {0} ", value));
break;
}
case Key.Desc:
{
this.Append(this.GetFormatString(" {0} DESC ", value));
break;
}
case Key.Asc:
{
this.Append(this.GetFormatString(" {0} ASC ", value));
break;
}
case Key.IfIsNull:
{
this.Append(this.GetFormatString(" IF {0} IS NULL ", value));
break;
}
case Key.IfIsNotNull:
{
this.Append(this.GetFormatString(" IF {0} IS NOT NULL ", value));
break;
}
case Key.DropTable:
{
this.Append(this.GetFormatString(" DROP TABLE {0} ", value));
break;
}
case Key.Into:
{
this.Append(this.GetFormatString(" INTO {0} ", value));
break;
}
case Key.In:
{
this.Append(this.GetFormatString(" IN {0} ", value));
break;
}
case Key.NotIn:
{
this.Append(this.GetFormatString(" NOT IN {0} ", value));
break;
}
case Key.Top:
{
this.Append(this.GetFormatString(" TOP {0} ", value));
break;
}
default:
{
break;
}
}
}
#endregion
#region public void Append(Key sk, object format, params object[] args)
public void Append(Key sk, object format, params object[] args)
{
switch (sk)
{
case Key.Select:
{
this.Append(this.GetFormatString(" SELECT {0} ", format), args);
break;
}
case Key.UnionSelect:
{
this.Append(this.GetFormatString(" UNION SELECT {0} ", format), args);
break;
}
case Key.UnionAllSelect:
{
this.Append(this.GetFormatString(" UNION ALL SELECT {0} ", format), args);
break;
}
case Key.From:
{
this.Append(this.GetFormatString(" FROM {0} ", format), args);
break;
}
case Key.Where:
{
this.Append(this.GetFormatString(" WHERE {0} ", format), args);
break;
}
case Key.And:
{
this.Append(this.GetFormatString(" AND {0} ", format), args);
break;
}
case Key.Or:
{
this.Append(this.GetFormatString(" OR {0} ", format), args);
break;
}
case Key.OrderBy:
{
this.Append(this.GetFormatString(" ORDER BY {0} ", format), args);
break;
}
case Key.Desc:
{
this.Append(this.GetFormatString(" {0} DESC ", format), args);
break;
}
case Key.Asc:
{
this.Append(this.GetFormatString(" {0} ASC ", format), args);
break;
}
case Key.IfIsNull:
{
this.Append(this.GetFormatString(" IF {0} IS NULL ", format), args);
break;
}
case Key.IfIsNotNull:
{
this.Append(this.GetFormatString(" IF {0} IS NOT NULL ", format), args);
break;
}
case Key.DropTable:
{
this.Append(this.GetFormatString(" DROP TABLE {0} ", format), args);
break;
}
case Key.Into:
{
this.Append(this.GetFormatString(" INTO {0} ", format), args);
break;
}
case Key.In:
{
this.Append(this.GetFormatString(" IN {0} ", format), args);
break;
}
case Key.NotIn:
{
this.Append(this.GetFormatString(" NOT IN {0} ", format), args);
break;
}
case Key.Top:
{
this.Append(this.GetFormatString(" TOP {0} ", format), args);
break;
}
default:
{
break;
}
}
}
#endregion
}
#endregion
#region class VariantKit : BaseKit
public class VariantKit : BaseKit
{
#region public VariantKit()
public VariantKit()
: base()
{
this["__RegularExpression"] = new Regex(@"'|\x22", ((RegexOptions)this["_RegularExpressionOptions"]));
}
#endregion
#region public string C2S(object value)
public string C2S(object value)
{
return Convert.ToString(value);
}
#endregion
#region public int C2I32(object value)
public int C2I32(object value)
{
try
{
return Convert.ToInt32(value);
}
catch (Exception expt)
{
return 0;
}
}
#endregion
#region public bool C2B(object value)
public bool C2B(object value)
{
try
{
return Convert.ToBoolean(value);
}
catch (Exception expt)
{
return false;
}
}
#endregion
#region public string GetSafeQueryString(object value)
public string GetSafeQueryString(object value)
{
return ((Regex)this["__RegularExpression"]).Replace(new VariantKit().C2S(value), "");
}
#endregion
#region public object GetSafeValue(object value, object swapvalue)
public object GetSafeValue(object value, object swapvalue)
{
return value == null ? swapvalue : value;
}
#endregion
#region public object GetSafeValue(object condition, object value, object swapvalue)
public object GetSafeValue(object condition, object value, object swapvalue)
{
return this.C2B(condition) == true ? value : swapvalue;
}
#endregion
}
#endregion
#region class ExceptionKit : BaseKit
public class ExceptionKit : BaseKit
{
#region public ExceptionKit()
public ExceptionKit()
: base()
{
this["__PresentFormatString"] = "<div style=\"padding:10px; margin:10px; border:1px solid #ccc;\"><h3 style=\"color:#c00;\">.: Runtime exception :.</h3><h5>{0}</h5></div>";
}
#endregion
#region public string GetHTMLPresent(object expt)
public string GetHTMLPresent(object expt)
{
return new StringKit().GetFormatString(new VariantKit().C2S(this["__PresentFormatString"]), expt);
}
#endregion
}
#endregion
#region class DebugKit : BaseKit
public class DebugKit : BaseKit
{
#region public DebugKit()
public DebugKit()
: base()
{
this["__Debugging"] = true;
this["__TrackInfoViewerID"] = "__TrackInfoViewer__";
}
#endregion
#region public DebugKit(object debugging)
public DebugKit(object debugging)
: base()
{
this["__Debugging"] = new VariantKit().C2B(debugging);
this["__TrackInfoViewerID"] = "__TrackInfoViewer__";
}
#endregion
#region public bool Debugging
public bool Debugging
{
get
{
return new VariantKit().C2B(this["__Debugging"]);
}
set
{
this["__Debugging"] = new VariantKit().C2B(value);
}
}
#endregion
#region public string TrackInfoViewerID
public string TrackInfoViewerID
{
get
{
return new VariantKit().C2S(this["__TrackInfoViewerID"]);
}
set
{
this["__TrackInfoViewerID"] = new VariantKit().C2S(value);
}
}
#endregion
#region public string GetTrackInfo(object value)
public string GetTrackInfo(object value)
{
return this.Debugging == true ? new VariantKit().C2S(value) : "";
}
#endregion
}
#endregion
#region class StyleSheetKit : StringKit
public class StyleSheetKit : StringKit
{
public StyleSheetKit()
: base()
{
this["StyleSheetPrefix"] = "<style><!--";
this["StyleSheetPostfix"] = "--></style>";
}
public string GetStyleSheetElement()
{
this.Reset();
this.Append(this["StyleSheetPrefix"]);
this.Append(this["StyleSheetPostfix"]);
return this.GetContent();
}
public string GetStyleSheetClass()
{
this.Reset();
this.Append(this["StyleSheetPrefix"]);
this.Append(this["StyleSheetPostfix"]);
return this.GetContent();
}
public string GetStyleSheetObject()
{
this.Reset();
this.Append(this["StyleSheetPrefix"]);
this.Append(this["StyleSheetPostfix"]);
return this.GetContent();
}
}
#endregion
}
posted on 2005-06-19 17:46 ShineWayCN 阅读(836) 评论(0) 收藏 举报
浙公网安备 33010602011771号