控件操作类文件的部分手写代码

using System;
using System.Web.Security;
using System.Text;
using System.IO;
using System.Security.Cryptography;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Collections;
using System.Web.Mail;
using System.Configuration;

using System.ComponentModel;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI.HtmlControls;
namespace MY
{
///

1<summary>   
2/// UserClass 的摘要说明。   
3/// </summary>

public class UserClass:System.Web.UI.Page
{
private string[] userdata;
private string[] managerdata;

private string strOutPicName;
private DbControl db;
protected Page page = null;
//private Hashtable ht;

public UserClass()
{
//
// TODO: 在此处添加构造函数逻辑
//

}
public UserClass(Page page)
{
db = new DbControl();
this.page = page;
strOutPicName = "";
}
#region 加密方法
///

1<summary>   
2/// 加密   
3/// </summary>

///

1<param name="pToEncrypt"/>

///

1<returns></returns>

public string Encrypt(string pToEncrypt)
{
string sKey="1234abcd";
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
//把字符串放到byte数组中
//原来使用的UTF8编码,我改成Unicode编码了,不行
byte[] inputByteArray = Encoding.Default.GetBytes(pToEncrypt);
//byte[] inputByteArray=Encoding.Unicode.GetBytes(pToEncrypt);

//建立加密对象的密钥和偏移量
//原文使用ASCIIEncoding.ASCII方法的GetBytes方法
//使得输入密码必须输入英文文本
des.Key = ASCIIEncoding.ASCII.GetBytes(sKey);
des.IV = ASCIIEncoding.ASCII.GetBytes(sKey);
MemoryStream ms = new MemoryStream();
CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(),CryptoStreamMode.Write);
//Write the byte array into the crypto stream
//(It will end up in the memory stream)
cs.Write(inputByteArray, 0, inputByteArray.Length);
cs.FlushFinalBlock();
//Get the data back from the memory stream, and into a string
StringBuilder ret = new StringBuilder();
foreach(byte b in ms.ToArray())
{
//Format as hex
ret.AppendFormat("{0:X2}", b);
}
ret.ToString();
return ret.ToString();
}
public string Decrypt(string pToDecrypt)
{
string sKey="1234abcd";
DESCryptoServiceProvider des = new DESCryptoServiceProvider();

//Put the input string into the byte array
byte[] inputByteArray = new byte[pToDecrypt.Length / 2];
for(int x = 0; x < pToDecrypt.Length / 2; x++)
{
int i = (Convert.ToInt32(pToDecrypt.Substring(x * 2, 2), 16));
inputByteArray[x] = (byte)i;
}

//建立加密对象的密钥和偏移量,此值重要,不能修改
des.Key = ASCIIEncoding.ASCII.GetBytes(sKey);
des.IV = ASCIIEncoding.ASCII.GetBytes(sKey);
MemoryStream ms = new MemoryStream();
CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(),CryptoStreamMode.Write);
//Flush the data through the crypto stream into the memory stream
cs.Write(inputByteArray, 0, inputByteArray.Length);
cs.FlushFinalBlock();

//Get the decrypted data back from the memory stream
//建立StringBuild对象,CreateDecrypt使用的是流对象,必须把解密后的文本变成流对象
StringBuilder ret = new StringBuilder();

return System.Text.Encoding.Default.GetString(ms.ToArray());
}
#endregion
#region 处理字段落字符串
///

1<summary>   
2/// 处理字段落字符串   
3/// </summary>

///

1<param name="notes"/>

///

1<returns></returns>

public string Ctrltxt(string notes)
{
StringBuilder outstr=new StringBuilder(notes);
outstr.Replace("\n","

1<br/>

");
outstr.Replace(" "," ");
return outstr.ToString();
}
#endregion

#region 手动方法
///

1<summary>   
2/// 从数据库里读取已经选 择的DR   
3/// </summary>

///

1<param name="lb"/>

///

1<param name="strshow"/>

///

1<param name="intFlag"/>

public void ShowDropDownList(DropDownList lb,string strshow,int intFlag)
{
foreach(ListItem objitem in lb.Items)
{
if (intFlag==0 && objitem.Text==strshow)
{
objitem.Selected=true;
}
else if (intFlag==1 && objitem.Value==strshow)
{
objitem.Selected=true;
}
else
{
objitem.Selected=false;
}
}
}
///

1<summary>   
2/// 把数据里的值读到DL里面。   
3/// </summary>

///

1<param name="dl"/>

///

1<param name="dr"/>

///

1<param name="strtext"/>

///

1<param name="strvalue"/>

public void ShowDrData(DropDownList dl,SqlDataReader dr,string strtext,string strvalue)
{
dl.DataSource=dr;
dl.DataTextField=strtext;
dl.DataValueField=strvalue;
dl.DataBind();
}
///

1<summary>   
2/// 把数据里的值读到DL里面并且选择某一项为选中,重载上面的!   
3/// </summary>

///

1<param name="dl"/>

///

1<param name="dr"/>

///

1<param name="strtext"/>

///

1<param name="strvalue"/>

///

1<param name="sltvalue"/>

public void ShowDrData(DropDownList dl,SqlDataReader dr ,string strtext,string strvalue,string sltvalue)
{
dl.DataSource=dr;
dl.DataTextField=strtext;
dl.DataValueField=strvalue;
dl.DataBind();
dl.Items.Add(sltvalue);
foreach(ListItem objitem in dl.Items)
{
if (objitem.Text==sltvalue)
{
objitem.Selected=true;
}
else
{
objitem.Selected=false;
}
}
}
///

1<summary>   
2/// 重载上面的函数将Reader参数换成Array   
3/// </summary>

///

1<param name="dl"/>

///

1<param name="al"/>

public void ShowDrData(DropDownList dl,ArrayList al)
{
dl.DataSource=al;
//dl.DataTextField=strtext;
//dl.DataValueField=strvalue;
dl.DataBind();
}
///

1<summary>   
2/// 把数据库里的数据读到LB里面去.   
3/// </summary>

///

1<param name="lb"/>

///

1<param name="dr"/>

///

1<param name="strtext"/>

///

1<param name="strvalue"/>

public void ShowDrData(ListBox lb,SqlDataReader dr,string strtext,string strvalue)
{
lb.DataSource=dr;
lb.DataTextField=strtext;
lb.DataValueField=strvalue;
lb.DataBind();
}
///

1<summary>   
2/// 将数据读到Array数组//   
3/// </summary>

///

1<param name="dr"/>

///

1<param name="strslt"/>

///

1<param name="strfield"/>

///

1<returns></returns>

public ArrayList ReturnArray(SqlDataReader dr,string strslt,string strfield)
{
ArrayList objarr;
objarr=new ArrayList();
if (dr.HasRows)
{
while (dr.Read())
{
objarr.Add(dr[strfield].ToString());
}
dr.Close();
}
objarr.Insert(0,strslt);
return objarr;
}
public void Close()
{
db.Close();
userdata=null;
}
///

1<summary>   
2/// 读取Check组的值;   
3/// </summary>

///

1<param name="lb"/>

///

1<returns></returns>

public string ReadCheckBoxList(CheckBoxList lb)
{
string returnvalue="0";
for (int i=0; i

  1<lb.items.count; (lb.items[i].selected)="" +","+="" <summary="" i++)="" if="" lb.items[i].value;="" return="" returnvalue="returnvalue" returnvalue;="" {="" }="">   
  2/// 显示Check组的值   
  3///    
  4/// <param name="cbl"/>   
  5/// <param name="strCheckValue"/>   
  6public void ShowCheckBoxList(CheckBoxList cbl,string strCheckValue)   
  7{   
  8for (int i=0;i<cbl.items.count;i++) (strcheckvalue.indexof(cbl.items[i].value)="" if="" {="">0)   
  9{   
 10cbl.Items[i].Selected=true;   
 11}   
 12}   
 13}   
 14/// <summary>   
 15/// DateDiff功能实现函数   
 16/// </summary>   
 17/// <param name="howtocompare"/>   
 18/// <param name="startDate"/>   
 19/// <param name="endDate"/>   
 20/// <returns></returns>   
 21public double DateDiff(string howtocompare, System.DateTime startDate, System.DateTime endDate)   
 22{   
 23double diff=0;   
 24System.TimeSpan TS = new System.TimeSpan(startDate.Ticks-endDate.Ticks);   
 25switch (howtocompare.ToLower())   
 26{   
 27case "m":   
 28diff = Convert.ToDouble(TS.TotalMinutes);   
 29break;   
 30case "s":   
 31diff = Convert.ToDouble(TS.TotalSeconds);   
 32break;   
 33case "t":   
 34diff = Convert.ToDouble(TS.Ticks);   
 35break;   
 36case "mm":   
 37diff = Convert.ToDouble(TS.TotalMilliseconds);   
 38break;   
 39case "yyyy":   
 40diff = Convert.ToDouble(TS.TotalDays/365);   
 41break;   
 42case "q":   
 43diff = Convert.ToDouble((TS.TotalDays/365)/4);   
 44break;   
 45default:   
 46//d   
 47diff = Convert.ToDouble(TS.TotalDays);   
 48break;   
 49}   
 50return diff;   
 51}   
 52/// <summary>   
 53/// 以送Email过程.   
 54/// </summary>   
 55/// <param name="strMailTo"/>   
 56/// <param name="strMailSubject"/>   
 57/// <param name="strMailBody"/>   
 58/// <returns></returns>   
 59public bool sendMail(string strMailTo,string strMailSubject,string strMailBody )   
 60{   
 61try   
 62{   
 63  
 64string MailSmtp=ConfigurationSettings.AppSettings["MailSmtp"];   
 65string MailUser=ConfigurationSettings.AppSettings["MailUser"];   
 66string MailPassword=ConfigurationSettings.AppSettings["MailPassword"];   
 67string MailFrom=ConfigurationSettings.AppSettings["MailFrom"];   
 68MailMessage mailMessage = new MailMessage();   
 69mailMessage.To = " [email protected] ";   
 70mailMessage.From = MailFrom;   
 71mailMessage.Subject = strMailSubject;   
 72mailMessage.Body = strMailBody;   
 73mailMessage.BodyFormat = MailFormat.Html;//邮件的格式 
 74
 75//如果带有附件...如:attachFile =''C:\file.rar''   
 76//if (attachFile != "")   
 77//{   
 78//mailMessage.Attachments.Add(new MailAttachment(attachFile));   
 79//} 
 80
 81//以下三句用在SMTP需要身份验证时。Framework1.1才有支持。   
 82mailMessage.Fields.Add(" http://schemas.microsoft.com/cdo/configuration/smtpauthenticate ", "1");//基本验证   
 83mailMessage.Fields.Add(" http://schemas.microsoft.com/cdo/configuration/sendusername ", MailUser); //设定用户名   
 84mailMessage.Fields.Add(" http://schemas.microsoft.com/cdo/configuration/sendpassword ", MailPassword);//设定密码 
 85
 86SmtpMail.SmtpServer = MailSmtp;//设定SMTP服务器   
 87SmtpMail.Send(mailMessage);   
 88return true;   
 89}   
 90catch   
 91{   
 92//邮件发送失败处理   
 93return false;   
 94//throw ex;   
 95  
 96} 
 97
 98}   
 99//============================================================   
100/// <summary>   
101/// 将一特定的值绑定到Panel中的CheckBox里(根据CheckBox里的Value值判断此项是否选中)   
102/// </summary>   
103/// <param name="strValue"/>   
104/// <param name="objPanel"/>   
105public void showPanelCheckBox(string strValue,Panel objPanel)   
106{   
107for (int i=0;i&lt;=objPanel.Controls.Count-1;i++)   
108{   
109if (objPanel.Controls[i] is CheckBox)   
110{   
111//if (this.Panel1.Controls[i])   
112CheckBox cb=(CheckBox)objPanel.Controls[i];   
113if (strValue.IndexOf(cb.ID.Substring(1,cb.ID.Length-1))&gt;0)   
114{   
115cb.Checked=true;   
116}   
117else   
118{   
119cb.Checked=false;   
120}   
121}   
122}   
123} 
124
125//============================================================   
126//上传图片时取得图片的名字   
127/// <summary>   
128/// 缺点多等待处理   
129/// </summary>   
130/// <param name="uploadPic"/>   
131/// <param name="strFileSavePath"/>   
132/// <returns></returns>   
133public bool outPutPicName(System.Web.UI.HtmlControls.HtmlInputFile uploadPic,string strFileSavePath)   
134{   
135//string strPicName = uploadPic.Value.Length.ToString();   
136strOutPicName = "";   
137SqlDataReader sdr = db.SqlGetReader("Select * From Data_Counter Where isBy = '1'");   
138sdr.Read();   
139string picFileName = sdr["iSum"].ToString();   
140sdr.Close();   
141int piclen = uploadPic.Value.Length;   
142int picwei = uploadPic.Value.LastIndexOf(".");   
143string picname = uploadPic.Value.Substring(picwei+1,piclen-picwei-1);   
144picname = picname.ToLower();   
145if (picname!="jpg"&amp;&amp;picname!="jpeg"&amp;&amp;picname!="gif"&amp;&amp;picname!="bmp")   
146{   
147strOutPicName = db.RetrunScript("what you uploaded can only be GIF , JPEG or JPG format...",2);   
148return false;   
149}   
150else   
151{   
152strOutPicName = picFileName+"."+picname;   
153//更新计数器 执行sql语句   
154return true;   
155}   
156  
157} 
158
159public string OutPicName   
160{   
161get   
162{   
163return strOutPicName;   
164}   
165}   
166  
167/// <summary>   
168/// 选中有值的选项   
169/// </summary>   
170/// <param name="objrbl"/>   
171/// <param name="strValue"/>   
172public void ShowRadioList(RadioButtonList objrbl, string strValue)   
173{   
174for(int i = 0;i&lt;=objrbl.Items.Count-1;i++)   
175{   
176if (strValue.IndexOf(objrbl.Items[i].Value)!=-1)   
177{   
178objrbl.Items[i].Selected = true;   
179}   
180else   
181{   
182objrbl.Items[i].Selected = false;   
183}   
184}   
185}   
186#endregion   
187  
188/// <summary>   
189/// 图像缩小处理   
190/// </summary>   
191/// <param name="strBigImg"/>存储原图像路径及文件名   
192/// <param name="strSmallImg"/>存储缩小后图像路径及文件名   
193/// <param name="intW"/>存储图像缩小宽度   
194/// <param name="intH"/>存储图像缩小高度   
195/// <param name="objPage"/>当前页   
196/// <returns>缩小后图像路么及文件名</returns>   
197public string imgControl(Page objPage,string strBigImg,string strSmallImg,int intW,int intH)   
198{   
199if (File.Exists(strSmallImg))   
200{   
201//检验图像是否已经缩小   
202return strSmallImg;   
203}   
204else   
205{   
206//图像没有缩小时处理   
207Bitmap oldImg;//原图对象   
208Bitmap newImg;//新图对象   
209try   
210{   
211oldImg = new Bitmap(objPage.MapPath(strBigImg));   
212newImg = new Bitmap(oldImg,intW,intH);   
213newImg.Save(objPage.MapPath(strSmallImg));   
214oldImg.Dispose();   
215newImg.Dispose();   
216//strSmallImg = "系统默认出错图片的路径与名称";   
217}   
218catch   
219{   
220}   
221finally   
222{ 
223
224oldImg = null;   
225newImg = null;   
226}   
227strSmallImg = strSmallImg.Trim();   
228return strSmallImg;   
229} 
230
231} 
232
233}   
234}</cbl.items.count;i++)></lb.items.count;>
Published At
Categories with Web编程
Tagged with
comments powered by Disqus