免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
C#實(shí)現(xiàn)網(wǎng)站總結(jié)
  最近這十天用C#做了個(gè)網(wǎng)站,今天終于交付了,把這段時(shí)間的心得寫寫,也是一種紀(jì)念。

<!--[if !supportLists]-->一、<!--[endif]-->運(yùn)用自定控件

網(wǎng)站一般都有很多模塊都是類似的,例如上下頁翻轉(zhuǎn),在一個(gè)網(wǎng)頁顯示一個(gè)文件列表等。這時(shí)就可以把這些網(wǎng)站寫成一些自定義控件來實(shí)現(xiàn)。在這次網(wǎng)站開發(fā)過程中,我自己開發(fā)了六個(gè)自定控件,然后大大的減少了代碼量和后期的維護(hù)工作。如下是一個(gè)上下頁翻轉(zhuǎn)控件源代碼:

頁面代碼:

       <%@ Control Language="c#" AutoEventWireup="false" Codebehind="ChangePage.ascx.cs" Inherits="quyuan.userControls.ChangePage" TargetSchema="http://schemas.microsoft.com/intellisense/ie5" %>

<TABLE id="Table1" cellSpacing="1" cellPadding="1" width="500" border="0" style="FONT-SIZE: 12px"

       align="center">

       <TR>

              <TD vAlign="middle" align="center"><FONT face="宋體">

                            <asp:LinkButton id="lbl_first" runat="server">首頁</asp:LinkButton></FONT></TD>

              <TD vAlign="middle" align="center">

                     <asp:LinkButton id="lbl_forward" runat="server">上一頁</asp:LinkButton></TD>

              <TD vAlign="middle" align="center">

                     <asp:LinkButton id="lbl_next" runat="server">下一頁</asp:LinkButton></TD>

              <TD vAlign="middle" align="center">

                     <asp:LinkButton id="lbl_last" runat="server">末頁</asp:LinkButton></TD>

              <TD vAlign="middle" align="center">

                     <asp:Label id="lbl_now" runat="server">1</asp:Label><FONT face="宋體">/

                            <asp:Label id="lbl_count" runat="server">1</asp:Label></FONT></TD>

              <TD vAlign="middle" align="center"><FONT face="宋體">

                            <asp:Label id="lbl_size" runat="server">1</asp:Label>/</FONT></TD>

              <TD vAlign="middle" align="center"><FONT face="宋體"><FONT face="宋體">

                                   <asp:Label id="lbl_sum" runat="server"></asp:Label>條記錄</FONT></FONT></TD>

              <TD vAlign="middle" align="center">

                     <asp:Label id="tabel1" runat="server">跳轉(zhuǎn)到第</asp:Label>

                     <asp:DropDownList id="drp_page" runat="server" Width="50px" AutoPostBack="True"></asp:DropDownList>

                     <asp:Label id="Label2" runat="server"></asp:Label></TD>

       </TR>

</TABLE>

<FONT face="宋體"></FONT>

源程序代碼:

namespace quyuan.userControls

{

       using System;

       using System.Data;

       using System.Drawing;

       using System.Web;

       using System.Web.UI.WebControls;

       using System.Web.UI.HtmlControls;

 

       /// <summary>

       ///           ChangePage 的摘要說明。

       /// </summary>

       public class ChangePage : System.Web.UI.UserControl

       {

              protected System.Web.UI.WebControls.LinkButton lbl_first;

              protected System.Web.UI.WebControls.LinkButton lbl_forward;

              protected System.Web.UI.WebControls.LinkButton lbl_next;

              protected System.Web.UI.WebControls.Label lbl_now;

              protected System.Web.UI.WebControls.Label lbl_count;

              protected System.Web.UI.WebControls.Label lbl_sum;

              protected System.Web.UI.WebControls.Label lbl_size;

              protected System.Web.UI.WebControls.Label tabel1;

              protected System.Web.UI.WebControls.Label Label2;

              protected System.Web.UI.WebControls.LinkButton lbl_last;

 

              private int crrentPage;

              private System.Web.UI.WebControls.Table controlTable;

              private int size;

              protected System.Web.UI.WebControls.DropDownList drp_page;

              private DataSet ds;

              private int pageCount;

              private ListItem item;

 

              private void Page_Load(object sender, System.EventArgs e)

              {

                     // 在此處放置用戶代碼以初始化頁面

                     if(!Page.IsPostBack)

                            initPage();

              }

 

              #region Web 窗體設(shè)計(jì)器生成的代碼

              override protected void OnInit(EventArgs e)

              {

                     //

                     // CODEGEN: 該調(diào)用是 ASP.NET Web 窗體設(shè)計(jì)器所必需的。

                     //

                     InitializeComponent();

                     base.OnInit(e);

              }

             

              /// <summary>

              ///           設(shè)計(jì)器支持所需的方法 - 不要使用代碼編輯器

              ///                         ///           修改此方法的內(nèi)容。

              /// </summary>

              private void InitializeComponent()

              {

                     this.lbl_first.Click += new System.EventHandler(this.lbl_first_Click);

                     this.lbl_forward.Click += new System.EventHandler(this.lbl_forward_Click);

                     this.lbl_next.Click += new System.EventHandler(this.lbl_next_Click);

                     this.lbl_last.Click += new System.EventHandler(this.lbl_last_Click);

                     this.drp_page.SelectedIndexChanged += new System.EventHandler(this.drp_page_SelectedIndexChanged);

                     this.Load += new System.EventHandler(this.Page_Load);

 

              }

              #endregion

 

              private void initPage()

              {

                     this.crrentPage = 1;

                     this.lbl_now.Text = this.crrentPage.ToString();//顯示下當(dāng)前頁碼

                    

                     //顯示總頁數(shù)

                     if(ds.Tables[0].Rows.Count%size == 0)

                            this.pageCount = ds.Tables[0].Rows.Count/size;

                     else

                            this.pageCount = ds.Tables[0].Rows.Count/size + 1;

                     this.lbl_count.Text = this.pageCount.ToString();

 

                     //每一頁顯示列數(shù)

                     this.lbl_size.Text = this.size.ToString();

 

                     //總的記錄數(shù)

                     this.lbl_sum.Text = ds.Tables[0].Rows.Count.ToString();

 

                     //綁定頁碼

                     for(int i=1;i<= pageCount;i++)

                     {

                            item = new ListItem(i.ToString(),i.ToString());

                            this.drp_page.Items.Insert(i-1,item);

                     }

              }

 

              /// <summary>

              /// 跳轉(zhuǎn)到首頁

              /// </summary>

              /// <param name="sender"></param>

              /// <param name="e"></param>

              private void lbl_first_Click(object sender, System.EventArgs e)

              {

                     //當(dāng)記錄時(shí),選定到指定頁

                     if(this.drp_page.Items.Count != 0)

                     {

                            this.crrentPage = Int32.Parse(this.lbl_now.Text.Trim());

                           

                            //跳轉(zhuǎn)到首

                            Utility.FirstPage(this.controlTable,ds,this.size,ref crrentPage);

 

                            //更新當(dāng)前頁碼

                            this.lbl_now.Text = crrentPage.ToString();

                            this.drp_page.SelectedIndex = crrentPage-1;

                     }

              }

 

              /// <summary>

              /// 上一頁

              /// </summary>

              /// <param name="sender"></param>

              /// <param name="e"></param>

              private void lbl_forward_Click(object sender, System.EventArgs e)

              {

                     //當(dāng)記錄時(shí),選定到指定頁

                     if(this.drp_page.Items.Count != 0)

                     {

                            //取當(dāng)前頁面

                            this.crrentPage = Int32.Parse(this.lbl_now.Text.Trim());

                           

                            //跳轉(zhuǎn)到上一頁

                            Utility.ForwardPage(this.controlTable,ds,this.size,ref crrentPage);

 

                            //更新當(dāng)前頁碼

                            this.lbl_now.Text = crrentPage.ToString();

 

                            this.drp_page.SelectedIndex = crrentPage-1;

                     }

              }

 

              /// <summary>

              /// 下一頁

              /// </summary>

              /// <param name="sender"></param>

              /// <param name="e"></param>

              private void lbl_next_Click(object sender, System.EventArgs e)

              {

                     //當(dāng)記錄時(shí),選定到指定頁

                     if(this.drp_page.Items.Count != 0)

                     {

                            //取當(dāng)前頁面

                            this.crrentPage = Int32.Parse(this.lbl_now.Text.Trim());

                            //跳轉(zhuǎn)到下一頁

                            Utility.NextPage(this.controlTable,ds,this.size,ref crrentPage);

 

                            //更新當(dāng)前頁碼

                            this.lbl_now.Text = crrentPage.ToString();                       

                            this.drp_page.SelectedIndex = crrentPage-1;

                     }

              }

 

              /// <summary>

              /// 末頁

              /// </summary>

              /// <param name="sender"></param>

              /// <param name="e"></param>

              private void lbl_last_Click(object sender, System.EventArgs e)

              {

                     //當(dāng)記錄時(shí),選定到指定頁

                     if(this.drp_page.Items.Count != 0)

                     {

                            //取當(dāng)前頁面

                            this.crrentPage = Int32.Parse(this.lbl_now.Text.Trim());

                            //跳轉(zhuǎn)到末頁

                            Utility.LastPage(this.controlTable,ds,this.size,ref crrentPage);

 

                            //更新當(dāng)前頁碼

                            this.lbl_now.Text = crrentPage.ToString();                

                            this.drp_page.SelectedIndex = crrentPage-1;

                     }

              }

 

              /// <summary>

              /// 跳轉(zhuǎn)到指定頁面

              /// </summary>

              /// <param name="sender"></param>

              /// <param name="e"></param>

              private void drp_page_SelectedIndexChanged(object sender, System.EventArgs e)

              {

                     //取當(dāng)前頁面

                     //this.Label2.Text = "here!";

                     this.crrentPage = this.drp_page.SelectedIndex+1;

                     //跳轉(zhuǎn)到指定頁

                     Utility.SpeceilPage(this.controlTable,ds,this.size,ref crrentPage);

 

                     //更新當(dāng)前頁碼

                     this.lbl_now.Text = crrentPage.ToString();

                     this.drp_page.SelectedIndex = crrentPage-1;

              }    

 

 

 

              /// <summary>

              /// 指定或獲取據(jù)源

              /// </summary>

              public DataSet DataSource

              {

                     get{ return ds;}

                     set{ ds = value;}

              }

 

              /// <summary>

              /// 指定或獲取操作表格

              /// </summary>

              public System.Web.UI.WebControls.Table ControlTable

              {

                     get{ return controlTable;}

                     set{ controlTable = value;}

              }

 

              /// <summary>

              /// 指定或獲取操作表格

              /// </summary>

              public int ListSize

              {

                     get{ return size;}

                     set{ size = value;}

              }

       }

}

寫自定義控件心得,實(shí)際上自己定控件也可以看成就是一個(gè)類,在實(shí)用它的時(shí)候,實(shí)例化一個(gè)就可以了,對(duì)于自定義的屬性,若要取值賦值就應(yīng)該提供get 、set方法。

       寫這個(gè)控件的時(shí)候遇到一個(gè)問題:當(dāng)點(diǎn)擊dropdownlistindex改變的時(shí)候,SelectedIndexChanged的事件不會(huì)馬上就觸發(fā),而是要等下一次頁面更新的時(shí)候才會(huì)觸發(fā),解決方法就是將dropdownlistAutoPostBask屬性設(shè)置成true即可,當(dāng)時(shí)知道了馬上就暈倒了。

<!--[if !supportLists]-->二、<!--[endif]-->應(yīng)該自定義控件時(shí),注意事件順序和頁面加載順序,當(dāng)一個(gè)事件要觸發(fā)運(yùn)行前,其操作對(duì)象應(yīng)該已經(jīng)要先加載到頁面中,當(dāng)使用自定義控件的時(shí)候,因?yàn)槊看慰丶羰呛笈_(tái)添加的話,則每次頁面刷新都要重新加載一次,如些若有這個(gè)控件的事件或是操作這個(gè)控件的屬性則要注意必須先加載這個(gè)控件。

<!--[if !supportLists]-->三、<!--[endif]-->注意CSS的使用,這樣會(huì)簡(jiǎn)化很多的工作。

 
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
gridview分頁模型
為datagrid的自帶分頁添加首頁、尾頁及狀態(tài)功能
通用分頁控件(DataGrid,DataList,Repeater都可以用它來分頁)
SPGridview的webpart實(shí)例
DataGrid終極分頁法:給分頁加上總記錄數(shù)、總頁數(shù)、當(dāng)前頁數(shù)
ASP.NET TREEVIEW 使用方法(2) - yyf919 - 博客園
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服