using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; using System.IO; using System.Text; namespace HashTest ... { /**//// <summary> /// HashPhone 的摘要说明。 /// </summary> public class HashPhone : System.Web.UI.Page ...{ protected System.Web.UI.WebControls.Label Label1; protected System.Web.UI.WebControls.TextBox Reg_Phone; protected System.Web.UI.WebControls.Label Label2; protected System.Web.UI.WebControls.TextBox Intro_Phone; protected System.Web.UI.WebControls.LinkButton SubClear; private static string txtFilePath = @"E:HashTestFetion.txt"; protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator1; protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator2; protected static Hashtable hs = new Hashtable(); protected static Hashtable hs_time = new Hashtable(); protected System.Web.UI.WebControls.Label Label3; protected System.Web.UI.WebControls.ImageButton ImageButton1; protected System.Web.UI.WebControls.ImageButton ImageButton2; protected static System.DateTime dt = System.DateTime.Now; Hashtable C_hash =new Hashtable(); System.Text.StringBuilder sb =new StringBuilder(); static System.DateTime lastwritetime = System.DateTime.Parse("1900-1-1 00:00:00"); static StreamWriter fileWrite = null; static HashPhone() ...{ hs.Clear(); hs_time.Clear(); StreamReader fileStream = new StreamReader(txtFilePath,Encoding.Default); for(string content = "";(content = fileStream.ReadLine()) != null;) ...{ try ...{ int regpos = content.IndexOf("注册手机号:"); int regtimepos = content.IndexOf("注册时间:"); string key = content.Substring(regpos + 6,regtimepos - regpos - 6); string number = content.Substring(7,regpos - 7); System.DateTime times = System.DateTime.Parse(content.Substring(regtimepos + 5)); //推荐人手机号:13772037984注册手机号:15009297363注册时间:2008-1-3 13:16:20 hs.Add(key,number); hs_time.Add(key,times); } catch ...{ } } fileStream.Close(); } private void Page_Load(object sender, System.EventArgs e) ...{ // 在此处放置用户代码以初始化页面 //this.Streamread(); } Web 窗体设计器生成的代码#region Web 窗体设计器生成的代码 override protected void OnInit(EventArgs e) ...{ // // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。 // InitializeComponent(); base.OnInit(e); } /**//// <summary> /// 设计器支持所需的方法 - 不要使用代码编辑器修改 /// 此方法的内容。 /// </summary> private void InitializeComponent() ...{ this.SubClear.Click += new System.EventHandler(this.SubClear_Click); this.ImageButton2.Click += new System.Web.UI.ImageClickEventHandler(this.ImageButton2_Click); this.ImageButton1.Click += new System.Web.UI.ImageClickEventHandler(this.ImageButton1_Click); this.Load += new System.EventHandler(this.Page_Load); } #endregion private static void Streamwrite(string s) ...{ fileWrite = new StreamWriter(txtFilePath,false,Encoding.Default); fileWrite.Write(s.ToString()+" "); fileWrite.Flush(); fileWrite.Close(); } private void Streamread() ...{ StreamReader fileStream = new StreamReader(txtFilePath,Encoding.Default); Response.Write(fileStream.ReadToEnd()); fileStream.Close(); } private void SubClear_Click(object sender, System.EventArgs e) ...{ this.Intro_Phone.Text=""; this.Reg_Phone.Text = ""; hs.Clear(); hs_time.Clear(); C_hash.Clear(); Response.Write("<script>alert('清除成功')</script>"); } private void Add(string rp,string ip) ...{ hs.Add(rp,ip); } private void ImageButton1_Click(object sender, System.Web.UI.ImageClickEventArgs e) ...{ Response.Write("<script>window.opener=null;window.close();</script>"); } private void ImageButton2_Click(object sender, System.Web.UI.ImageClickEventArgs e) ...{ string key = this.Reg_Phone.Text; key = key.Replace(" ","").Replace(" ","").Trim(); string[] skey =key.TrimEnd(';').Split(';'); for(int i=0;i<skey.Length;i++) ...{ if(skey[i]!=null && skey[i]!="" && skey[i]!=this.Intro_Phone.Text & !hs.Contains(skey[i])) ...{ hs.Add(skey[i],this.Intro_Phone.Text); hs_time.Add(skey[i],System.DateTime.Now); } } System.TimeSpan ts = System.DateTime.Now - lastwritetime; if(ts.TotalSeconds >= 60) timer1_Elapsed(); Response.Write("<script>alert('提交成功')</script>"); } private void timer1_Elapsed() ...{ C_hash = new Hashtable(); lastwritetime = System.DateTime.Now; System.Collections.Hashtable C_hash_time = new Hashtable(); lock(this) ...{ foreach(DictionaryEntry d in hs) ...{ string str_key = d.Key.ToString(); string str_value = d.Value.ToString(); C_hash.Add(str_key,str_value); C_hash_time.Add(str_key,hs_time[str_key]); } } foreach(DictionaryEntry de in C_hash) ...{ sb.Append("推荐人手机号:"); sb.Append(de.Value.ToString()); sb.Append("注册手机号:"); sb.Append(de.Key.ToString()); sb.Append("注册时间:"); sb.Append(C_hash_time[de.Key]); sb.Append(" "); } Streamwrite(sb.ToString()); } }}