⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 book.aspx.cs

📁 简单的留言簿小程序
💻 CS
字号:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Data.OleDb;
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.Text.RegularExpressions;

namespace book
{
	/// <summary>
	///简单.NET留言本
	///author:YOYO
	//源码之家:www.codejia.com
	/// </summary>
	public partial class WebForm1 : System.Web.UI.Page
	{
		protected System.Web.UI.WebControls.DataGrid booklist;
	
		protected void Page_Load(object sender, System.EventArgs e)
		{
			if(!this.IsPostBack)
			{
				switch(GetQuery()[0])
				{
					case "":
						//main();
						Dsmain();
						break;
					case "write":
						Write();
						this.title1.InnerHtml="写新留言";
						this.WMenu.Attributes.Add("class","menu_hover");
						this.SMenu.Attributes.Add("class","menu_link");
						break;
					case "save":
						Save();
						break;
					case "del":
						//Del();
						break;
					default:
						//main();
						Dsmain();
						break;
				}
			}
		}
		protected void Page_UnLoad(object sender, System.EventArgs e){
		//oleConnection.Close();
		}
		//判断是否为数字函数
		private bool IsNumbers(string text)
		{
			string oText;
			oText=text.Trim();
			try
			{
				int var1=Convert.ToInt32 (oText);
				return true;
			}
			catch
			{
				return false;
			}
		} 
		
		//得到get参数
		private string[] GetQuery()
		{
			string qurystr=Convert.ToString(Request.ServerVariables["QUERY_STRING"]).Trim().ToLower();
			if(qurystr.IndexOf("/_",0)>=0)
			{
				string[] strlist=Regex.Split(qurystr,"/_",RegexOptions.IgnoreCase)[1].Split(new char[] {'/'});
				return strlist;
			}
			else
			{
				return new string[] {""};
			}
		}
		private void main()
		{
			string dbPath=System.Configuration.ConfigurationSettings.AppSettings["dbpath"];
			OleDbConnection oleConnection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data source=" + Server.MapPath(dbPath));
			//string Sql = "SELECT * FROM book";


				OleDbCommand cmd=new OleDbCommand("SELECT * FROM book ORDER BY id DESC",oleConnection);
				cmd.CommandType = CommandType.Text;
				try
			{
					cmd.Connection.Open();
					OleDbDataReader dr= cmd.ExecuteReader();
					if(dr.Read())
					{
						
							int curPage;
						if(Request.QueryString["page"]!=null && Request.QueryString["page"].Length!=0 && IsNumbers(Request.QueryString["page"].ToString()))
						{
							curPage=Convert.ToInt32(Request.QueryString["page"]);
						}
						else{
							curPage=1;
						}
						int perPage=5;
						int i=1;		
						string content="<div>";
						do
						{
							if((i>=(curPage-1)*perPage+1)&&(i<=curPage*perPage))
							{
							content+="<div class=\"list\">";
							content+="<h3>"+i+"</h3><h4>名字:"+dr["name"]+" [<i>"+dr["date"]+"</i>]</h4>";
							content+="<div class=\"con\">内容:"+dr["content"]+"</div>";
							content+="</div>";
							}
							i++;
						}while(dr.Read());
						content+="</div>";
						int maxPage=(i%perPage==0)?i/perPage:(i/perPage)+1;
						this.main_content.InnerHtml+=content;
						this.main_content.InnerHtml+="<div class=\"page\">共有"+i+"条留言,当前第"+curPage+"页,共"+maxPage.ToString()+"页,";
						this.main_content.InnerHtml+=(curPage>1)?"<a href=\"?page=1\">首页</a>":"首页";
						this.main_content.InnerHtml+=" | ";
						this.main_content.InnerHtml+=(curPage>1)?"<a href=\"?page="+(curPage-1)+"\">上一页</a>":"上一页";
						this.main_content.InnerHtml+=" | ";
						this.main_content.InnerHtml+=(curPage<maxPage)?"<a href=\"?page="+(curPage+1)+"\">下一页</a>":"下一页";
						this.main_content.InnerHtml+=" | ";
						this.main_content.InnerHtml+=(curPage<maxPage)?"<a href=\"?page="+maxPage.ToString()+"\">尾页</a>":"尾页";
						this.main_content.InnerHtml+="</div>";
					}
					else{
					this.main_content.InnerHtml="<li>暂无留言</li>";
					}
				dr.Close();
			}
			catch
			{
					Response.Write("请检查数据库连接");
					Response.End();
			}
			finally
			{
				cmd.Connection.Close();
			}
		}

		private void Write()
		{
			write1.Visible=true;
		}
		private void Save()
		{
			this.write1.Visible=false;
			string name1=Request.Form["name"].ToString().Trim();
			string content1=Request.Form["content"].ToString().Trim();
			if(name1==""||content1=="")
			{
				Response.Write("<script>alert(\"信息不完整!\");history.back(1);</script>");
				Response.End();
			}
			string dbPath=System.Configuration.ConfigurationSettings.AppSettings["dbpath"];
			string ACconnStr="Provider=Microsoft.Jet.OleDb.4.0;Data Source="+Server.MapPath(dbPath);
			OleDbConnection ACconn=new OleDbConnection(ACconnStr);
			ACconn.Open();
			string ACsql="insert into book(name,content)values(\""+name1+"\",\""+content1+"\")";
					OleDbCommand ACcmd=new OleDbCommand(ACsql,ACconn);
			try
			{
				ACcmd.ExecuteNonQuery();
				Response.Redirect("book.aspx");
			}
			catch
			{
				this.main_content.InnerHtml="留言失败!<a href=\"book.aspx\">返回</a>";
			}
			finally
			{
				ACconn.Close();
				ACcmd.Connection.Close();
				ACcmd.Dispose();
			}
		}
		protected void Dsmain()
		{
			int curPage;
			string[] query=GetQuery();
			if(query[0]!=""&&query[0]!=null&& IsNumbers(query[0]))
			{
				curPage=Convert.ToInt32(query[0]);
			}
			else
			{
				curPage=1;
			}
			int perPage=5;
			//取得数据库路径
			string dbPath=System.Configuration.ConfigurationSettings.AppSettings["dbpath"];
			//定义数据库连接字符串
			string ACconnStr="Provider=Microsoft.Jet.OleDb.4.0;Data Source="+Server.MapPath(dbPath);
			//定义SQL语句
			string ACsql="SELECT * FROM book ORDER BY id DESC";	//创建数据库连接对像
			OleDbConnection ACconn=new OleDbConnection(ACconnStr);
			ACconn.Open();
			//定义数据适配器
			OleDbDataAdapter ACda=new OleDbDataAdapter(ACsql,ACconn);
			//创建数据集
			DataSet ACds=new DataSet();
			//创建所有数集
			ACda.Fill(ACds,"AllDataTable");		
			int total;
			//两种方式取得总记录数
			//OleDbCommand objCommand=new OleDbCommand(ACsql,ACconn);
			//total=(int)objCommand.ExecuteScalar();
			//第二种
			total=ACds.Tables["AllDataTable"].Rows.Count;
			int maxPage=(total%perPage==0)?total/perPage:(total/perPage)+1;

			if(curPage>maxPage)
			{
				curPage=maxPage;
			
			}

			//从指定的索引开始取PageSize条记录
			ACda.Fill(ACds,perPage*(curPage-1),perPage,"CurDataTable");
			DataTable dt;
			dt=ACds.Tables["CurDataTable"];

			string content="<div>";
			for(int i=0;i<=dt.Rows.Count-1;i++)
			{
				DataRow dr=dt.Rows[i];
				content+="<div class=\"list\">";
				content+="<h3>id:"+dr["id"]+"</h3><h4>名字:"+dr["name"]+" [<i>"+dr["date"]+"</i>]</h4>";
				content+="<div class=\"con\">内容:"+dr["content"]+"</div>";
				content+="</div>";
			}
			content+="</div>";
			this.main_content.InnerHtml=content;
			this.main_content.InnerHtml+="<div class=\"page\">共有"+total+"条留言,当前第"+curPage+"页,共"+maxPage.ToString()+"页,";
			this.main_content.InnerHtml+=(curPage>1)?"<a href=\"?/_1/\">首页</a>":"首页";
			this.main_content.InnerHtml+=" | ";
			this.main_content.InnerHtml+=(curPage>1)?"<a href=\"?/_"+(curPage-1)+"/\">上一页</a>":"上一页";
			this.main_content.InnerHtml+=" | ";
			this.main_content.InnerHtml+=(curPage<maxPage)?"<a href=\"?/_"+(curPage+1)+"/\">下一页</a>":"下一页";
			this.main_content.InnerHtml+=" | ";
			this.main_content.InnerHtml+=(curPage<maxPage)?"<a href=\"?/_"+maxPage.ToString()+"/\">尾页</a>":"尾页";
			this.main_content.InnerHtml+="</div>";
			dt.Dispose();
			ACds.Dispose();
			ACda.Dispose();
			ACconn.Close();


		}
		
		#region Web 窗体设计器生成的代码
		override protected void OnInit(EventArgs e)
		{
			//
			// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
			//
			InitializeComponent();
			base.OnInit(e);
		}
		
		/// <summary>
		/// 设计器支持所需的方法 - 不要使用代码编辑器修改
		/// 此方法的内容。
		/// </summary>
		private void InitializeComponent()
		{    
			this.Unload += new System.EventHandler(this.Page_UnLoad);

		}
		#endregion

	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -