?? newslist.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;
namespace news
{
/// <summary>
/// Duo1 的摘要說明。
/// </summary>
public partial class NewsList : System.Web.UI.Page
{
public int PageCount,RecordCount;
string strDBPath; //數據庫存儲路徑
string strConn; //數據庫連接
//根據關鍵字查詢新聞
public void SubmitBtn_Click(Object sender, EventArgs e)
{
OleDbConnection myConnection = new OleDbConnection(strConn);
OleDbDataAdapter myCommand = new OleDbDataAdapter("select * from News where " + DropDownList1.SelectedItem.Value + " like '%" + TextBox1.Text.ToString() + "%'", myConnection);
DataSet ds = new DataSet();
myCommand.Fill(ds, "tt");
MyList.DataSource = ds.Tables["tt"].DefaultView;
MyList.DataBind();
}
protected void Page_Load(Object sender, EventArgs e)
{
strDBPath = System.Configuration.ConfigurationSettings.AppSettings["DBPath"];
strConn = System.Configuration.ConfigurationSettings.AppSettings["Connection"] + Server.MapPath(strDBPath);
//頁面初始化
if(!IsPostBack)
{
//創建數據庫連接,讀取新聞類別信息
OleDbConnection MyConnection = new OleDbConnection(strConn);
OleDbDataAdapter myCommand=new OleDbDataAdapter("SELECT id,name FROM Type ",MyConnection);
DataSet ds= new DataSet();
myCommand.Fill(ds,"Type");
DropDownList2.DataSource = ds.Tables["Type"].DefaultView;
DropDownList2.DataTextField = "name";
DropDownList2.DataValueField = "id";
DropDownList2.DataBind();
}
DataBind();
}
//創建視圖,根據新聞類別讀取新聞信息
DataView CreateDataSource()
{
OleDbConnection myConnection = new OleDbConnection(strConn);
OleDbDataAdapter myCommand = new OleDbDataAdapter("select * from News WHERE typeid="+ DropDownList2.SelectedItem.Value+"", myConnection);
DataSet ds = new DataSet();
myCommand.Fill(ds, "News");
return ds.Tables["News"].DefaultView;
}
//為MyList綁定數據源
void DataBind()
{
DataView source=CreateDataSource();
if(!IsPostBack)
{
RecordCount=source.Count;
PageCount=RecordCount/MyList.PageSize;
if((RecordCount%MyList.PageSize)!=0) PageCount++;
lblRecordCount.Text=RecordCount.ToString();
lblPageCount.Text=PageCount.ToString();
lblCurrentPage.Text="1";
}
MyList.DataSource = source;
MyList.DataBind();
}
public void MyList_Page(Object sender, DataGridPageChangedEventArgs e)
{
//由內置頁導航使用。CurrentPageIndex 已設置
MyList.CurrentPageIndex = e.NewPageIndex;
DataBind();
}
//將輸入的頁碼設置為MyList當前頁,實現頁面跳轉功能
public void txtIndex_Changed(Object sender, EventArgs e)
{
btnFirst.Enabled=true;
btnPrev.Enabled=true;
btnNext.Enabled=true;
btnLast.Enabled=true;
int index=Int32.Parse(txtIndex.Text.ToString());
PageCount=Int32.Parse(lblPageCount.Text.ToString());
if(index>=1&&index<=PageCount)
{
MyList.CurrentPageIndex=index-1;
DataBind();
lblCurrentPage.Text=index.ToString();
if(index==1)
{
btnFirst.Enabled=false;
btnPrev.Enabled=false;
}
else if(index==PageCount)
{
btnLast.Enabled=false;
btnNext.Enabled=false;
}
else
{ txtIndex.Text=""; }
DataBind();
}
}
//實現多頁面之間的切換
public void PagerButtonClick(Object sender, CommandEventArgs e)
{
btnFirst.Enabled=true;
btnPrev.Enabled=true;
btnNext.Enabled=true;
btnLast.Enabled=true;
String arg = e.CommandArgument.ToString();
PageCount=Int32.Parse(lblPageCount.Text.ToString());
int pageindex=Int32.Parse(lblCurrentPage.Text.ToString())-1;
//設置當前頁碼
switch(arg)
{
case "Next":
if (pageindex < (PageCount - 1))
pageindex ++;
break;
case "Prev":
if (pageindex > 0)
pageindex --;
break;
case "Last":
pageindex = (PageCount - 1);
break;
case "First":
pageindex=0;
break;
}
if(pageindex==0)
{
btnFirst.Enabled=false;
btnPrev.Enabled=false;
}
else if(pageindex==PageCount-1)
{
btnLast.Enabled=false;
btnNext.Enabled=false;
}
MyList.CurrentPageIndex=pageindex;
DataBind();
lblCurrentPage.Text=(MyList.CurrentPageIndex+1).ToString();
}
//格式化字符串
protected string FormatString(string str)
{
str=str.Replace(" "," ");
str=str.Replace("<","<");
str=str.Replace(">",">");
str=str.Replace('\n'.ToString(),"<br>");
return str;
}
#region Web 窗體設計器生成的代碼
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 該調用是 ASP.NET Web 窗體設計器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 設計器支持所需的方法 - 不要使用代碼編輯器修改
/// 此方法的內容。
/// </summary>
private void InitializeComponent()
{
this.btnFirst.Command += new System.Web.UI.WebControls.CommandEventHandler(this.PagerButtonClick);
this.btnPrev.Command += new System.Web.UI.WebControls.CommandEventHandler(this.PagerButtonClick);
this.btnNext.Command += new System.Web.UI.WebControls.CommandEventHandler(this.PagerButtonClick);
this.btnLast.Command += new System.Web.UI.WebControls.CommandEventHandler(this.PagerButtonClick);
}
#endregion
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -