message_index.aspx:
<form id="Form1" method="post" runat="server">
<table cellSpacing="0" cellPadding="0" width="400" border="0">
<tr>
<td align="right" height="22"><span class="brown">登錄</span> <span class="brown">留言</span> </td>
</tr>
</table>
<table cellSpacing="0" cellPadding="0" width="400" border="0">
<tr class="ziti">
<td class="brown" align="center">
<asp:DataGrid id="myDataGrid" runat="server" AutoGenerateColumns="False" CssClass="ziti" Width="100%" BorderWidth="1px" GridLines="Horizontal" BorderColor="Silver" PageSize="5" OnPageIndexChanged="myDataGrid_Page" PagerStyle-Mode="NumericPages" AllowPaging="True" PagerStyle-HorizontalAlign="Right"><HeaderStyle HorizontalAlign="Center" ForeColor="#9F3636" BackColor="#F7EEEF"></HeaderStyle>
<Columns>
<asp:BoundColumn DataField="message_id" HeaderText="序號">
</asp:BoundColumn>
<asp:HyperLinkColumn DataNavigateUrlField="message_id" DataNavigateUrlFormatString="message_show.aspx?id={0}"
DataTextField="message_title" HeaderText="主題">
</asp:HyperLinkColumn>
<asp:BoundColumn DataField="message_author" HeaderText="作者">
</asp:BoundColumn>
<asp:BoundColumn DataField="message_time" HeaderText="時間">
</asp:BoundColumn>
</Columns>
<PagerStyle Visible="False" HorizontalAlign="Right" Mode="NumericPages"></PagerStyle>
</asp:DataGrid>
<asp:LinkButton id="btnFirst" runat="server" CssClass="ziti" CommandArgument="0" OnClick="PagerButtonClick">首頁</asp:LinkButton>
<asp:LinkButton id="btnPrev" runat="server" CommandArgument="prev" OnClick="PagerButtonClick" CssClass="ziti">上一頁</asp:LinkButton>
<asp:LinkButton id="btnNext" runat="server" CssClass="ziti" CommandArgument="next" OnClick="PagerButtonClick">下一頁</asp:LinkButton>
<asp:LinkButton id="btnLast" runat="server" CssClass="ziti" CommandArgument="last" OnClick="PagerButtonClick">末頁</asp:LinkButton> 第 <asp:TextBox id="tbPage" runat="server" Width="40px" CssClass="ziti">1</asp:TextBox>頁
<asp:LinkButton id="btnLink" οnclick="PagerButtonClick" runat="server" CssClass="ziti" CommandArgument="custom">跳轉</asp:LinkButton></td>
</tr>
<tr>
<td align="center" style="HEIGHT: 17px"> </td>
</tr>
<tr>
<td align="center"> </td>
</tr>
</table>
</form>
message_index.aspx.cs:
using System.Data.SqlClient;
using System.Configuration;
protected System.Web.UI.WebControls.LinkButton btnPrev;
protected System.Web.UI.WebControls.LinkButton btnNext;
protected System.Web.UI.WebControls.LinkButton btnFirst;
protected System.Web.UI.WebControls.LinkButton btnLast;
protected System.Web.UI.WebControls.TextBox tbPage;
protected System.Web.UI.WebControls.DataGrid myDataGrid;
protected System.Web.UI.WebControls.LinkButton btnLink;
//聲明表格對象
DataTable Cart;
//聲明視圖對象
DataView CartView;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此處放置用戶代碼以初始化頁面
if(Session["DG6_ShoppingCart"] ==null)
{
Cart = new DataTable();
//建立數據庫
SqlConnection con=new SqlConnection();
con.ConnectionString=ConfigurationSettings.AppSettings["ConnectionString"];
//創建SqlDataAdapter對象
SqlDataAdapter cmd=new SqlDataAdapter("select message_id,message_title,message_content,message_time,message_author from message order by message_id",con);
//創建DataSet對象
DataSet ds = new DataSet();
//將查詢結果填充到DataSet對象中
cmd.Fill(ds,"message");
Cart=ds.Tables["message"];
Session["DG6_ShoppingCart"]=Cart;
}
else
{
Cart = (DataTable)Session["DG6_ShoppingCart"];
}
CartView= new DataView(Cart);
CartView.Sort = "message_id";
if(!Page.IsPostBack)
{
BindGrid();
}
}
public void myDataGrid_Page(Object sender,DataGridPageChangedEventArgs e)
{
this.myDataGrid.CurrentPageIndex=e.NewPageIndex;
BindGrid();
}
public void BindGrid()
{
this.myDataGrid.DataSource = CartView;
this.myDataGrid.DataBind();
}
public void PagerButtonClick(object sender,EventArgs e)
{
//使用自定義的分頁聯接
string arg = ((LinkButton)sender).CommandArgument;
switch(arg)
{
case("next")://當單擊下一爺時
if(myDataGrid.CurrentPageIndex <( myDataGrid.PageCount-1))
myDataGrid.CurrentPageIndex ++ ;
break;
case("prev")://當單擊了上一頁時
if(myDataGrid.CurrentPageIndex > 0)
myDataGrid.CurrentPageIndex -- ;
break;
case("last")://當單擊了最後一頁時
myDataGrid.CurrentPageIndex = (myDataGrid.PageCount-1);
break;
case("custom")://當跳轉到特定頁時
int page=Convert.ToInt32(tbPage.Text);
if((page<(myDataGrid.PageCount+1))&&(page>0))
myDataGrid.CurrentPageIndex=page-1;
break;
default:
//跳轉到一定頁
myDataGrid.CurrentPageIndex = Convert.ToInt32(arg);
break;
}
BindGrid();
}
DataGrid中確定刪除效果:
<head>
<script>
function del(num)
{
if(confirm("您確實要刪除這個文件嗎?"))
{
document.location.href="Del.aspx?ID=" + num;
}
}
</script>
</head>
....
<asp:datagrid>
<columns>
....
<asp:HyperLinkColumn Text="刪除" DataNavigateUrlField="編號" DataNavigateUrlFormatString="javascript:del({0})"></asp:HyperLinkColumn>
</columns>
</asp:datagrid>
delete_user.aspx.cs
cmd.CommandText = "Delete from user_info where user_id='"+Request.QueryString["id"]+"'" ;