📄 book.aspx.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 + -