澳门新葡亰娱乐网站-www.142net-欢迎您

澳门新葡亰娱乐网站是因为你还没有找到一条正确的致富之路,www.142net是将所有的游戏都汇集在一起的官方平台,因为澳门新葡亰娱乐网站这个网站当中有着大量的游戏攻略,托IP定位技术,传达终端直接到达的精准传播方式。

net4的webform使用路由,webform设计思路的思考

来源:http://www.bhtsgq.com 作者:计算机知识 人气:188 发布时间:2019-05-11
摘要:    作者动用asp.net的webform框架进行web应用程序的支付已经基本上四年了,在1切开垦生涯中,也选拔过一年asp.net的mvc框架。因为互连网平常有谈论webform框架和mvc框架的高低,所以自身

     作者动用asp.net的webform框架进行web应用程序的支付已经基本上四年了,在1切开垦生涯中,也选拔过一年asp.net的mvc框架。因为互连网平常有谈论webform框架和mvc框架的高低,所以自身也对那两个进行了关切,因为本身最熟练webform框架,所以就能够设想它的优势是怎么着?设计思路是何等?

做web开荒直接用到分页控件,本身也入手达成了个,使用用户自定义控件。

法定示例:

做web开荒直接用到分页控件,自身也入手落成了个,使用用户自定义控件。

net4的webform使用路由,webform设计思路的思考。    要掌握asp.net的统一策画思路,必须考虑它的发出时期,发生的技艺基础,还有观望同时代别的动态网页本事的特征和思路。

翻页后数据加载使用委托,将具体落到实处放在在选择分页控件的页面实行注册。

翻页后数据加载使用委托,将现实贯彻放在在动用分页控件的页面举办挂号。

   首先是产生asp.net的才具基础,以下援引百度周密:

有图有精神,给个直观的认知:

简介:
ASP.NET 四 增添了对使用 Web 窗体进行路由的放费用持。 路由是 ASP.NET 三.5SP壹引进的1项意义,通过此效能可将应用程序配置为使用对用户和搜索引擎有含义的 URAV4L,那样无需点名物理文件名。 使用那项作用,能够坚实站点的用户友好度,并增添站点内容被搜寻引擎开掘的可能率。

有图有精神,给个直观的认知:

*   “19九捌年,ASP 壹.0(Active Server Pages)版本出现了,它引起了Web开荒的新革命,下跌了动态网页开荒的难度。在此以前开垦动态网页必要编写制定大量乱7八糟的C代码,编制程序功能很低下,而且亟需Web网页开拓者理解极高的编制程序本事。而ASP使用简便的脚本语言,能够将代码直接嵌入HTML,使设计Web页面变得更简便。纵然ASP特别轻松,但却能够实现丰富有力的意义,那1体得益于其组件。特别是ADO组件,使得在网页中走访数据库举手之劳。那1切拉动了动态网页的神速前进与建设,同时使ASP获得快捷盛行。*

图片 1

利用手续:
1.增多大局文件Global.asax,引用命名空间System.Web.Routing,(要是未有的话,则向品种中增加对System.Web.Routing的引用)然后在Application_Start
事件中登记相应的路由.
示范代码如下:

图片 2

*    一九玖八年,微软集团公告了ASP 贰.0,它是用作Windows NT 四 Option Pack的1有的提供的。ASP 二.0与ASP 一.0的关键分歧是外部的机件能够开首化,使具有的零件都有了单独的内部存款和储蓄器空间,并且可以张开事务管理。内置的Microsoft Transaction Server(MTS)使制作零部件变得更便于。*

自定义分页控件前台代码:

图片 3图片 4View Code

自定义分页控件前台代码:

*    三千年3月,微软集团发布了投机的.NET框架。.NET框架的着力思想是:把原本的第3从一连到网络的单一网址或配备转移到Computer、设备和劳务群组上,而将网络本人作为新一代操作系统的根基。那样,用户将能够支配新闻的传递格局、时间和内容,从而获得更加的多的劳动。*

<style type="text/css">    .pager-m-l {        margin-left: 10px;    }    .pager {        font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;        font-size: 14px;        color: #333;        background-color: #fff;        text-align: center;        border: 1px solid #eee;        border-radius: 5px;        height: 30px;        line-height: 30px;        margin: 10px auto;        width: 650px;    }    .font-blue {        color: #5bc0de;    }    .pager a {        color: #5bc0de;        text-decoration: none;    }        .pager a.gray {            color: #808080;        }    .pager-num {        width: 30px;        text-align: center;    }    .pager-form-control {        color: #555;        background-color: #fff;        background-image: none;        border: 1px solid #ccc;        border-radius: 4px;        -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);        box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);        -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;        -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;        transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;        padding: 2px 0px;        margin: 0px 2px;    }        .pager-form-control:focus {            border-color: #66afe9;            outline: 0;            -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6);            box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6);        }    .btn {        display: inline-block;        padding: 2px;        font-weight: normal;        text-align: center;        white-space: nowrap;        vertical-align: middle;        -ms-touch-action: manipulation;        touch-action: manipulation;        cursor: pointer;        -webkit-user-select: none;        -moz-user-select: none;        -ms-user-select: none;        user-select: none;        background-image: none;        border: 1px solid transparent;        border-radius: 4px;    }    .btn-default {        color: #333;        background-color: #fff;        border-color: #ccc;    }</style><div class="pager">    当前<asp:Label runat="server" ID="labCurrentPageIndex" CssClass="font-blue"></asp:Label>/<asp:Label runat="server" CssClass="font-blue" ID="labTotalNumberOfPages"></asp:Label>页    共<asp:Label runat="server" CssClass="font-blue" ID="labRecordCount"></asp:Label>条记录            <asp:LinkButton runat="server" ID="labFirstPage" OnClick="labFirstPage_Click">首页</asp:LinkButton>        |        <asp:LinkButton runat="server" ID="labPreviousPage" OnClick="labPreviousPage_Click">上一页</asp:LinkButton>        |<asp:LinkButton runat="server" ID="labNextPage" OnClick="labNextPage_Click">下一页</asp:LinkButton>        |<asp:LinkButton runat="server" ID="labLastPage" OnClick="labLastPage_Click">尾页</asp:LinkButton>        跳至<asp:TextBox runat="server" ID="txtPageNum" CssClass="pager-form-control pager-num">1</asp:TextBox>页        <asp:Button runat="server" Text="GO" ID="btnGo" CssClass="btn btn-default" OnClick="btnGo_Click" />            <asp:DropDownList runat="server" ID="ddlPageSize" CssClass="pager-form-control" AutoPostBack="true" OnSelectedIndexChanged="ddlPageSize_SelectedIndexChanged">            <asp:ListItem Text="10" Value="10"></asp:ListItem>            <asp:ListItem Text="20" Value="20"></asp:ListItem>            <asp:ListItem Text="30" Value="30"></asp:ListItem>            <asp:ListItem Text="50" Value="50"></asp:ListItem>            <asp:ListItem Text="100" Value="100"></asp:ListItem>        </asp:DropDownList>条/每页</div>
        protected void Application_Start(object sender, EventArgs e)
        {
            RegisteRoutes(RouteTable.Routes);
        }

        private void RegisteRoutes(RouteCollection routes)
        {
            //其中需要说明的是asp.net 4中使用routes.MapPageRoute方法来添加相应的路由规则.它和.net 3.5 sp1中的routes.add是一样的.只不过更方便些.
            //第一个参数:路由规则名称,用于区别不同的路由规则(随便起)
            //第二个参数:路由规则,{}代表匹配任意,不带{}则表示精确匹配
            //第三个参数:该路由交给那个页面处理,物理页面的路径
            routes.MapPageRoute("", "", "~/Default.aspx");
            routes.MapPageRoute("list", "Items/{action}", "~/Items/list.aspx", false, new RouteValueDictionary { { "action", "all" } });
            routes.MapPageRoute("show", "Show/{action}", "~/show.aspx", false, new RouteValueDictionary { { "action", "all" } });
            routes.MapPageRoute("edit", "Edit/{id}", "~/edit.aspx", false, new RouteValueDictionary { { "id", "1" } }, new RouteValueDictionary { { "id", @"d " } });
            官方参数说明:

            routeName
            类型:System.String
            路由的名称。
            routeUrl
            类型:System.String
            路由的 URL 模式。
            physicalFile
            类型:System.String
            路由的物理 URL。
            checkPhysicalUrlAccess
            类型:System.Boolean
            一个值,该值指示 ASP.NET 是否应验证用户是否有权访问物理 URL(始终会检查路由 URL)。 此参数设置 PageRouteHandler.CheckPhysicalUrlAccess 属性。 
            defaults
            类型:System.Web.Routing.RouteValueDictionary
            路由的默认值。
            constraints
            类型:System.Web.Routing.RouteValueDictionary
            一些约束,URL 请求必须满足这些约束才能作为此路由处理。
        }
<style type="text/css">
    .pager-m-l {
        margin-left: 10px;
    }

    .pager {
        font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
        font-size: 14px;
        color: #333;
        background-color: #fff;
        text-align: center;
        border: 1px solid #eee;
        border-radius: 5px;
        height: 30px;
        line-height: 30px;
        margin: 10px auto;
        width: 650px;
    }

    .font-blue {
        color: #5bc0de;
    }

    .pager a {
        color: #5bc0de;
        text-decoration: none;
    }

        .pager a.gray {
            color: #808080;
        }

    .pager-num {
        width: 30px;
        text-align: center;
    }

    .pager-form-control {
        color: #555;
        background-color: #fff;
        background-image: none;
        border: 1px solid #ccc;
        border-radius: 4px;
        -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
        box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
        -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
        -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
        transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
        padding: 2px 0px;
        margin: 0px 2px;
    }

        .pager-form-control:focus {
            border-color: #66afe9;
            outline: 0;
            -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6);
            box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6);
        }

    .btn {
        display: inline-block;
        padding: 2px;
        font-weight: normal;
        text-align: center;
        white-space: nowrap;
        vertical-align: middle;
        -ms-touch-action: manipulation;
        touch-action: manipulation;
        cursor: pointer;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
        background-image: none;
        border: 1px solid transparent;
        border-radius: 4px;
    }

    .btn-default {
        color: #333;
        background-color: #fff;
        border-color: #ccc;
    }
</style>
<div class="pager">
    当前<asp:Label runat="server" ID="labCurrentPageIndex" CssClass="font-blue"></asp:Label>/<asp:Label runat="server" CssClass="font-blue" ID="labTotalNumberOfPages"></asp:Label>页
    共<asp:Label runat="server" CssClass="font-blue" ID="labRecordCount"></asp:Label>条记录

        <asp:LinkButton runat="server" ID="labFirstPage" OnClick="labFirstPage_Click">首页</asp:LinkButton>
        |
        <asp:LinkButton runat="server" ID="labPreviousPage" OnClick="labPreviousPage_Click">上一页</asp:LinkButton>
        |<asp:LinkButton runat="server" ID="labNextPage" OnClick="labNextPage_Click">下一页</asp:LinkButton>
        |<asp:LinkButton runat="server" ID="labLastPage" OnClick="labLastPage_Click">尾页</asp:LinkButton>

    跳至<asp:TextBox runat="server" ID="txtPageNum" CssClass="pager-form-control pager-num">1</asp:TextBox>页
        <asp:Button runat="server" Text="GO" ID="btnGo" CssClass="btn btn-default" OnClick="btnGo_Click" />

        <asp:DropDownList runat="server" ID="ddlPageSize" CssClass="pager-form-control" AutoPostBack="true" OnSelectedIndexChanged="ddlPageSize_SelectedIndexChanged">
            <asp:ListItem Text="10" Value="10"></asp:ListItem>
            <asp:ListItem Text="20" Value="20"></asp:ListItem>
            <asp:ListItem Text="30" Value="30"></asp:ListItem>
            <asp:ListItem Text="50" Value="50"></asp:ListItem>
            <asp:ListItem Text="100" Value="100"></asp:ListItem>
        </asp:DropDownList>条/每页
</div>

*    200一年,ASP.NET浮出水面。它最初的名称叫ASP ,后来改为ASP.NET。ASP.NET是微软企业付出的1种构建在.NET之上的Web运转意况,它不是ASP的简约进级,而是新一代的Active Server Pages。ASP.NET是微软公司新系统布局Microsoft.NET的壹局地,当中斩新的技巧架构使编制程序变得尤其简约。借助于ASP.NET,能够创立出内容丰盛的、动态的、天性化的Web站点。ASP.NET简单易学、功能庞大、应用灵活、扩充性好,能够选拔任何.NET包容语言。 [4-5] *

自定义分页控件后台代码:

收获UGL450L中的参数
Page.RouteData中含有大家须要的ULacrosseL参数.因而,大家得以通过以下方法来收获U奥迪Q3L中的参数,如下:
主意一:在后台.CS文件写如下代码:

自定义分页控件后台代码:

*    二〇〇二年微软发表.NET正式版本.NET Framework 一.0,个中的ASP版本正是ASP.NET 1.0,在此从前揭橥了三个.NET测试版本Betal和Beta2。*

private const string viewStateCurrentPageIndex = "CurrentPageIndex";        private const string viewStateRecordCount = "RecordCount";        public delegate void PageChangedHandle();        public event PageChangedHandle OnPageChanged;        public int PageSize        {            get            {                return Convert.ToInt32(ddlPageSize.SelectedValue);            }        }        public int CurrentPageIndex        {            set            {                ViewState[viewStateCurrentPageIndex] = value;            }            get            {                if (ViewState[viewStateCurrentPageIndex] == null)                {                    ViewState[viewStateCurrentPageIndex] = 1;                }                return Convert.ToInt32(ViewState[viewStateCurrentPageIndex]);            }        }        public int RecordCount        {            get            {                if (ViewState[viewStateRecordCount] == null)                {                    ViewState[viewStateRecordCount] = 0;                }                return Convert.ToInt32(ViewState[viewStateRecordCount]);            }            set            {                ViewState[viewStateRecordCount] = value;            }        }        private int TotalNumberOfPages        {            get            {                return RecordCount % PageSize == 0 ? RecordCount / PageSize : (RecordCount / PageSize)   1;            }        }        protected void Page_Load(object sender, EventArgs e)        {            if (!IsPostBack)            {            }        }        protected void labFirstPage_Click(object sender, EventArgs e)        {            CurrentPageIndex = 1;            this.DataBind();        }        protected void labPreviousPage_Click(object sender, EventArgs e)        {            CurrentPageIndex -= 1;            this.DataBind();        }        protected void labNextPage_Click(object sender, EventArgs e)        {            CurrentPageIndex  = 1;            this.DataBind();        }        protected void labLastPage_Click(object sender, EventArgs e)        {            CurrentPageIndex = TotalNumberOfPages;            this.DataBind();        }        protected void btnGo_Click(object sender, EventArgs e)        {            int pageNum = 1;            bool isNum = Int32.TryParse(txtPageNum.Text, out pageNum);            if             {                CurrentPageIndex = Math.Min(pageNum, TotalNumberOfPages);            }            this.DataBind();        }        protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)        {            CurrentPageIndex = 1;            this.DataBind();        }        protected override void DataBind(bool raiseOnDataBinding)        {            BindPager();            base.DataBind(raiseOnDataBinding);            if (OnPageChanged != null)            {                OnPageChanged();            }        }        private void BindPager()        {            labCurrentPageIndex.Text = CurrentPageIndex.ToString();            labTotalNumberOfPages.Text = TotalNumberOfPages.ToString();            labRecordCount.Text = RecordCount.ToString();            SetNavigateEnabled();        }                private void SetNavigateEnabled()        {            txtPageNum.Text = CurrentPageIndex.ToString();            labFirstPage.Enabled = true;            labPreviousPage.Enabled = true;            labNextPage.Enabled = true;            labLastPage.Enabled = true;            labFirstPage.CssClass = "font-blue";            labPreviousPage.CssClass = "font-blue";            labNextPage.CssClass = "font-blue";            labLastPage.CssClass = "font-blue";            if (CurrentPageIndex == 1)            {                labFirstPage.Enabled = false;                labPreviousPage.Enabled = false;                labFirstPage.CssClass = "gray";                labPreviousPage.CssClass = "gray";            }            if (CurrentPageIndex == TotalNumberOfPages)            {                labNextPage.Enabled = false;                labLastPage.Enabled = false;                labNextPage.CssClass = "gray";                labLastPage.CssClass = "gray";            }            if (RecordCount == 0)            {                labFirstPage.Enabled = false;                labPreviousPage.Enabled = false;                labFirstPage.CssClass = "gray";                labPreviousPage.CssClass = "gray";                labNextPage.Enabled = false;                labLastPage.Enabled = false;                labNextPage.CssClass = "gray";                labLastPage.CssClass = "gray";            }        }
if (Page.RouteData.Values.ContainsKey("id"))
this.lb.Text = Page.RouteData.Values["id"].ToString();
private const string viewStateCurrentPageIndex = "CurrentPageIndex";
        private const string viewStateRecordCount = "RecordCount";

        public delegate void PageChangedHandle();
        public event PageChangedHandle OnPageChanged;

        public int PageSize
        {
            get
            {
                return Convert.ToInt32(ddlPageSize.SelectedValue);
            }
        }

        public int CurrentPageIndex
        {
            set
            {
                ViewState[viewStateCurrentPageIndex] = value;
            }
            get
            {
                if (ViewState[viewStateCurrentPageIndex] == null)
                {
                    ViewState[viewStateCurrentPageIndex] = 1;
                }

                return Convert.ToInt32(ViewState[viewStateCurrentPageIndex]);
            }
        }
        public int RecordCount
        {
            get
            {
                if (ViewState[viewStateRecordCount] == null)
                {
                    ViewState[viewStateRecordCount] = 0;
                }

                return Convert.ToInt32(ViewState[viewStateRecordCount]);
            }
            set
            {
                ViewState[viewStateRecordCount] = value;
            }
        }
        private int TotalNumberOfPages
        {
            get
            {
                return RecordCount % PageSize == 0 ? RecordCount / PageSize : (RecordCount / PageSize)   1;
            }
        }

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {

            }
        }

        protected void labFirstPage_Click(object sender, EventArgs e)
        {
            CurrentPageIndex = 1;

            this.DataBind();
        }

        protected void labPreviousPage_Click(object sender, EventArgs e)
        {
            CurrentPageIndex -= 1;

            this.DataBind();
        }

        protected void labNextPage_Click(object sender, EventArgs e)
        {
            CurrentPageIndex  = 1;

            this.DataBind();
        }

        protected void labLastPage_Click(object sender, EventArgs e)
        {
            CurrentPageIndex = TotalNumberOfPages;

            this.DataBind();
        }

        protected void btnGo_Click(object sender, EventArgs e)
        {
            int pageNum = 1;
            bool isNum = Int32.TryParse(txtPageNum.Text, out pageNum);
            if (isNum)
            {
                CurrentPageIndex = Math.Min(pageNum, TotalNumberOfPages);
            }

            this.DataBind();
        }

        protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
        {
            CurrentPageIndex = 1;

            this.DataBind();
        }

        protected override void DataBind(bool raiseOnDataBinding)
        {
            BindPager();
            base.DataBind(raiseOnDataBinding);

            if (OnPageChanged != null)
            {
                OnPageChanged();
            }
        }

        private void BindPager()
        {
            labCurrentPageIndex.Text = CurrentPageIndex.ToString();
            labTotalNumberOfPages.Text = TotalNumberOfPages.ToString();
            labRecordCount.Text = RecordCount.ToString();

            SetNavigateEnabled();
        }        

        private void SetNavigateEnabled()
        {
            txtPageNum.Text = CurrentPageIndex.ToString();
            labFirstPage.Enabled = true;
            labPreviousPage.Enabled = true;
            labNextPage.Enabled = true;
            labLastPage.Enabled = true;

            labFirstPage.CssClass = "font-blue";
            labPreviousPage.CssClass = "font-blue";
            labNextPage.CssClass = "font-blue";
            labLastPage.CssClass = "font-blue";

            if (CurrentPageIndex == 1)
            {
                labFirstPage.Enabled = false;
                labPreviousPage.Enabled = false;

                labFirstPage.CssClass = "gray";
                labPreviousPage.CssClass = "gray";
            }
            if (CurrentPageIndex == TotalNumberOfPages)
            {
                labNextPage.Enabled = false;
                labLastPage.Enabled = false;

                labNextPage.CssClass = "gray";
                labLastPage.CssClass = "gray";
            }
            if (RecordCount == 0)
            {
                labFirstPage.Enabled = false;
                labPreviousPage.Enabled = false;

                labFirstPage.CssClass = "gray";
                labPreviousPage.CssClass = "gray";

                labNextPage.Enabled = false;
                labLastPage.Enabled = false;

                labNextPage.CssClass = "gray";
                labLastPage.CssClass = "gray";
            }
        }

*    2003年微软发布了.NET Frameworrk 1.壹标准版,其中ASP版本正是ASP.NET 1.一。*

现阶段页码、总共多少条记下使用ViewState记录状态音信,因为导航控件会挑起回发刷新。
分页后的数额加载,使用事件。

格局二:在页面中央直机关接利用RouteValue,如下:

近期页码、总共多少条记下使用ViewState记录状态消息,因为导航控件会唤起回发刷新。
分页后的数目加载,使用事件。

*    200伍年微软发表.NET Framework 二.0行业内部版本,也便是ASP.NET 二.0。*”

事件的实际完成放在使用分页控件的现实页面中,实行事件的挂号。

<asp:Label ID="lb1" runat="server" Text="<%$RouteValue:id%>"></asp:Label>

事件的切切实实贯彻放在使用分页控件的切实可行页面中,进行事件的登记。

 

测试分页控件的前台页面:

方式叁: 仍旧能够用从前的Request.Form来处理

 

    那是1段引自百度百科,介绍从asp发展到asp.net的记述。阅读这段记述你应该发掘到,asp.net是从asp一.0开首向上来的,可是它不是一向从asp发展到asp.net的,首先是asp1.0,然后是asp二.0,然后是asp ,再然后更名称为asp.net(这里假若分别看正是asp  、  .net那是八个词,因为在asp的上进进程中另1个大的项目.net出现了,.net为啥出现,不在讨论范围,能够自动百度)。asp.net一.一本事的web框架正是webform。

<div style="margin-bottom:10px;">            text:            <asp:TextBox ID="txtContent" runat="server"></asp:TextBox>            <asp:Button ID="btnQuery" runat="server" Text="查 询" OnClick="btnQuery_Click"/>        </div>        <div>            <asp:GridView ID="gvList" runat="server" Width="99%" AutoGenerateColumns="true"></asp:GridView>            <uc1:PagerControl runat="server" ID="Pager" />        </div>

页面url连接的创导
在骨子里运用显著是要页面跳转的,asp.net4提供了各个方法来创建符合路由规则的页面url。具体如下:
方法一:
直接根据规则,来创立url,如下:

测试分页控件的前台页面:

本文由澳门新葡亰发布于计算机知识,转载请注明出处:net4的webform使用路由,webform设计思路的思考

关键词: 澳门新葡 分页 自定义 控件 .NET

上一篇:大家怎么看

下一篇:没有了

最火资讯