?? goodblog.aspx.cs
字號:
?using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using lalablog;
public partial class goodblog : System.Web.UI.Page
{
int pagesize = 60;
SqlDataReader dr;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
firstpage f1 = new firstpage();
//blog信息
bicontent.InnerHtml = f1.getBlogInfo();
//活躍博客
abContent.InnerHtml = f1.getBlogUser();
//最近更新的博客
nwContent.InnerHtml = f1.zuiJinGengXin();
//最新申請入住的博客
nbContent.InnerHtml = f1.getNewUser();
//專題排行
ssContent.InnerHtml = f1.getBlogSubject();
//友情連接
flContent.InnerHtml = f1.getFriendLink();
pageNavigate();
if (Request.QueryString["cate"] != null && Request.QueryString["str"] != null)
searchBlog(1);
else if (Request.QueryString["classid"] != null)
{
int classid = Convert.ToInt32(Request.QueryString["classid"]);
readClassBlog(classid,1);
}
else if (Request.QueryString["user"] != null)
{
readUser(1);
}
else
readblog(1);
ViewState["currentPage"] = 1;
}
}
private string readUser(int pageindex)
{
Page.Title = "博客列表";
string strconn = ConfigurationManager.ConnectionStrings["dsn"].ToString();
SqlConnection cn = new SqlConnection(strconn);
cn.Open();
SqlCommand cm = new SqlCommand("pageUser", cn);
cm.CommandType = CommandType.StoredProcedure;
cm.Parameters.Add("@PageSize", SqlDbType.Int);
cm.Parameters.Add("@PageIndex", SqlDbType.Int);
cm.Parameters["@PageSize"].Value = pagesize;
cm.Parameters["@PageIndex"].Value = pageindex;
try
{
this.dr = cm.ExecuteReader();
displayUser();
ViewState["currentPage"] = pageindex;
cpage.InnerText = pageindex.ToString();
/*顯示用戶圖片*/
return "success";
}
catch (SqlException ex)
{
return ex.Message;
}
finally
{
cn.Close();
}
}
//輸出html文本,輸出的是一個表格,輸出到了預先定義的span (message) 中
private void displayUser()
{
string head, data = "";
head = "<table><tr class=firstrow>";
head += "<td class=col2>用戶名</td>";
head += "<td class=col3>昵稱</td>";
head += "<td class=col2>Ficq</td>";
head += "<td class=col1>電子郵件</td></tr>";
while (this.dr.Read())
{
int userid;
string username;
userid = Convert.ToInt32(dr["userid"].ToString());
username = dr["username"].ToString();
data += "<tr class=datarow>";
data += "<td>" + username + "</td>";
data += "<td><a href=../read.aspx?userid=" + userid + ">" + dr["nickname"].ToString() + "</a></td>";
data +="<td>"+dr["ficq"].ToString ()+"</td>";
data += "<td>"+dr["email"].ToString ()+"</td>";
data += "</tr>";
}
string all = head + data + "</table>";
classblog.InnerHtml = all;
}
private string readClassBlog(int classid,int pageindex)
{
Page.Title = "日志分類閱讀";
string strconn = ConfigurationManager.ConnectionStrings["dsn"].ToString();
SqlConnection cn = new SqlConnection(strconn);
cn.Open();
SqlCommand cm = new SqlCommand("pageClassBlog", cn);
cm.CommandType = CommandType.StoredProcedure;
cm.Parameters.Add("@classid", SqlDbType.Int);
cm.Parameters.Add("@PageSize", SqlDbType.Int);
cm.Parameters.Add("@PageIndex", SqlDbType.Int);
cm.Parameters["@classid"].Value = classid;
cm.Parameters["@PageSize"].Value = this.pagesize;
cm.Parameters["@PageIndex"].Value = pageindex;
try
{
this.dr = cm.ExecuteReader();
displayData();
ViewState["currentPage"] = pageindex;
cpage.InnerText = pageindex.ToString();
return "success";
}
catch (SqlException ex)
{
return ex.Message;
}
finally
{
cn.Close();
}
}
private string searchBlog(int pageindex)
{
Page.Title = "日志搜索結果";
string searchField="title",searchText="dell";
if(Request .QueryString ["cate"]!=null)
searchField= Server .HtmlEncode( Request .QueryString ["cate"].Trim ());
if(Request .QueryString ["str"]!=null )
searchText =Server .HtmlEncode (Request .QueryString ["str"].Trim ());
string strconn = ConfigurationManager.ConnectionStrings["dsn"].ToString();
SqlConnection cn = new SqlConnection(strconn);
cn.Open();
SqlCommand cm = new SqlCommand("pageSearchBlog", cn);
cm.CommandType = CommandType.StoredProcedure;
cm.Parameters.Add("@PageSize", SqlDbType.Int);
cm.Parameters.Add("@PageIndex", SqlDbType.Int);
cm.Parameters.Add("@searchField", SqlDbType.NVarChar);
cm.Parameters.Add("@searchText", SqlDbType.NVarChar);
cm.Parameters["@PageSize"].Value = this.pagesize;
cm.Parameters["@PageIndex"].Value = pageindex;
cm.Parameters["@searchField"].Value = searchField;
cm.Parameters["@searchText"].Value = searchText;
try
{
this.dr = cm.ExecuteReader();
displayData();
ViewState["currentPage"] = pageindex;
cpage.InnerText = pageindex.ToString();
return "success";
}
catch (SqlException ex)
{
return ex.Message;
}
finally
{
cn.Close();
}
}
//根據用戶的userid,和當前狀態視圖中存儲的頁碼 讀取指定條數的數據記錄并顯示
private string readblog(int pageindex)
{
Page.Title = "博客文章推薦閱讀";
string strconn = ConfigurationManager.ConnectionStrings["dsn"].ToString();
SqlConnection cn = new SqlConnection(strconn);
cn.Open();
SqlCommand cm = new SqlCommand("pageGoodBlog", cn);
cm.CommandType = CommandType.StoredProcedure;
cm.Parameters.Add("@PageSize", SqlDbType.Int);
cm.Parameters.Add("@PageIndex", SqlDbType.Int);
cm.Parameters["@PageSize"].Value = this.pagesize;
cm.Parameters["@PageIndex"].Value = pageindex;
try
{
this.dr = cm.ExecuteReader();
displayData();
ViewState["currentPage"] = pageindex;
cpage.InnerText = pageindex.ToString();
return "success";
}
catch (SqlException ex)
{
return ex.Message;
}
finally
{
cn.Close();
}
}
//輸出html文本,輸出的是一個表格,輸出到了預先定義的span (message) 中
private void displayData()
{
string head = "", data = "";
/*如果有記錄,才顯示標題頭*/
if (Convert.ToInt32(ViewState["sumPage"].ToString()) > 0)
{
head = "<table><tr class=firstrow>";
head += "<td class=col1>姓名</td>";
head += "<td class=col5>標題</td>";
head += "<td class=col2>日期</td>";
head += "<td class=col1>閱讀</td>";
head += "<td class=col1>回復</td></tr>";
}
while (this.dr.Read())
{
int userid = Convert.ToInt32(dr["userid"].ToString());
int blogid = Convert.ToInt32(dr["blogid"].ToString());
string title = dr["title"].ToString();
string add_date = Convert.ToDateTime(dr["add_date"].ToString()).ToShortDateString();
data += "<tr class=datarow>";
data += "<td>" + dr["username"].ToString() + "</td>";
data += "<td><a href=article.aspx?userid=" + userid + "&blogid=" + blogid;
data += ">" + title + "</a></td>";
data += "<td>" + add_date + "</td>";
data += "<td>" + dr["read_count"].ToString() + "</td>";
data += "<td>" + dr["reply_count"].ToString() + "</td>";
data += "</tr>";
}
string all = head + data + "</table>";
classblog.InnerHtml = all;
}
//生成總頁數,根據每頁顯示多少條記錄得出頁數
private string pageSql()
{
string sql = "";
if (Request.QueryString["cate"] != null && Request.QueryString["str"] != null)
{
string cate = Server.HtmlEncode(Request.QueryString["cate"].Trim());
string str=Server.HtmlEncode(Request.QueryString["str"].Trim());
sql = "select count(blogid) from blog where " + cate + " like '%" + str + "%' ";
}
else if (Request.QueryString["classid"] != null)
{
int classid = Convert.ToInt32(Request.QueryString["classid"]);
if (classid != 0)
sql = "select count(blogid) from blog where classid=" + classid + " and text_folder=0";
else
sql = "select count(blogid) from blog where text_folder=0";
}
else if (Request.QueryString["user"] != null)
{
sql = "select count(userid) from users";
}
else
sql = "select count(blogid) from blog where read_level=1 ";
return sql ;
}
private void pageNavigate()
{
string mysql = pageSql();
pageHtml p1 = new pageHtml(mysql);
ViewState["sumPage"] = p1.pageNavigate(pagesize);
spage.InnerText = ViewState["sumPage"].ToString();
if (p1.pageNavigate(pagesize) <= 1)
navigator.Visible = false;
else
navigator.Visible = true;
}
//頁面直接跳轉
protected void tb_goPage_TextChanged(object sender, EventArgs e)
{
int x = Convert.ToInt32(tb_goPage.Text);
if (x < 1) x = 1;
int sumpage = Convert.ToInt32(ViewState["sumPage"].ToString());
if (x > sumpage) x = sumpage;
read(x);
}
//上一頁
protected void lb_previous_Click(object sender, EventArgs e)
{
int x = Convert.ToInt32(ViewState["currentPage"].ToString()) - 1;
if (x < 1) x = 1;
read(x);
}
//下一頁
protected void lb_next_Click(object sender, EventArgs e)
{
int x = Convert.ToInt32(ViewState["currentPage"].ToString()) + 1;
int sumpage = Convert.ToInt32(ViewState["sumPage"].ToString());
if (x > sumpage) x = sumpage;
read(x);
}
private void read(int x)
{
if (Request.QueryString["cate"] != null && Request.QueryString["str"] != null)
searchBlog(x);
else if (Request.QueryString["classid"] != null)
{
int classid = Convert.ToInt32(Request.QueryString["classid"]);
readClassBlog(classid, x);
}
else if (Request.QueryString["user"] != null)
{
readUser(x);
}
else
readblog(x);
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -