个人代码小结

来源:互联网 发布:淘宝客服忙不忙 编辑:程序博客网 时间:2024/05/01 08:18

一. 分页控件的实现:

1.注册:

<%@ Register Assembly="AspNetPager" Namespace="Wuqi.Webdiyer" TagPrefix="webdiyer" %>

2.使用控件:

首部分页显示

<webdiyer:AspNetPager CssClass="anpager" ID="AspNetPager1" runat="server" Width="100%"    CustomInfoHTML="共有记录 <font>%RecordCount%</font> 条 当前为     <font>%CurrentPageIndex%</font>/<font>%PageCount%</font> 页"    HorizontalAlign="Right" ShowCustomInfoSection="Left" CustomInfoTextAlign="Right"    CustomInfoSectionWidth="28%" ShowPageIndexBox="Always" PageIndexBoxType="TextBox"    TextBeforePageIndexBox="转到 " UrlPagingTarget="_self" UrlPageIndexName="p"     UrlPageSizeName="s" UrlPaging="True" PageIndexBoxClass="flattext" ShowPageIndex="True"     PageSize="20" SubmitButtonClass="flatbutton" SubmitButtonText=" GO "     TextAfterPageIndexBox=" 页 " Wrap="False"></webdiyer:AspNetPager>

尾部代码分页显示

 <webdiyer:AspNetPager runat="server" ID="AspNetPager2" CloneFrom="AspNetPager1"> </webdiyer:AspNetPager>

3.后台处理:

this.AspNetPager1.RecordCount = bll.GetCount(SqlWhere);rptSortlist.DataSource = bll.GetList(AspNetPager1.PageSize, AspNetPager1.PageCount, SqlWhere, "Reve1", 1);

二. 关于后台处理的SqlWhere

1.将一个数字先变为字符串类型,然后再加到SqlWhere字符串中。

SqlWhere = " ShopID=" + HjNetHelper.GetQueryString("tid");

三. 关于SQLServerDAL层的获取列表函数

1.获取一张表的数据时,如果碰到需要另一张表的某个数据,可以使用子查询的方式来获取。最好不要使用表连接(join...on...),容易出错。

/// <summary>        /// 获取列表        /// </summary>        /// <param name="pagesize">页尺寸</param>        /// <param name="pageindex">页索引</param>        /// <param name="strWhere">查询条件</param>        /// <param name="orderName">排序字段</param>        /// <param name="orderType">排序类型,1为降序,0为升序</param>        /// <returns>图书列表</returns>        public IList<ShopNavIntroInfo> GetList(int pagesize, int pageindex, string strWhere, string orderName, int orderType)        {            IList<ShopNavIntroInfo> infos = new List<ShopNavIntroInfo>();            StringBuilder str = new StringBuilder();            str.Append("*,(select Title from ShopNav where DataID=ShopNavIntro.SortId) Title"); //子查询            SqlParameter[] parameters = {new SqlParameter("@tblName", SqlDbType.VarChar,255),new SqlParameter("@strGetFields", SqlDbType.VarChar,1000),new SqlParameter("@primary", SqlDbType.VarChar,255),new SqlParameter("@orderName", SqlDbType.VarChar,255),new SqlParameter("@PageSize", SqlDbType.Int),new SqlParameter("@PageIndex", SqlDbType.Int),new SqlParameter("@OrderType", SqlDbType.Bit),new SqlParameter("@strWhere", SqlDbType.VarChar,1500)};            parameters[0].Value = "ShopNavIntro";            parameters[1].Value = str.ToString(); //子查询            parameters[2].Value = "DataId";            parameters[3].Value = orderName;            parameters[4].Value = pagesize;            parameters[5].Value = pageindex;            parameters[6].Value = orderType;            parameters[7].Value = strWhere;            using (SqlDataReader dr = SQLHelper.ExecuteReader(CommandType.StoredProcedure, "pageselectpri", parameters))            {                while (dr.Read())                {                    ShopNavIntroInfo info = new ShopNavIntroInfo();                    info.DataId = HJConvert.ToInt32(dr["DataId"]);                    info.SortId = HJConvert.ToInt32(dr["SortId"]);                    info.Title = HJConvert.ToString(dr["Title"]);                    info.HelpContent = HJConvert.ToString(dr["HelpContent"]);                    info.AddTime = HJConvert.ToDateTime(dr["AddTime"]);                    info.ViewTimes = HJConvert.ToInt32(dr["ViewTimes"]);                    info.OrderNum = HJConvert.ToInt32(dr["OrderNum"]);                    info.KeyWord = HJConvert.ToString(dr["KeyWord"]);                    info.IsVisiableAtHome = HJConvert.ToInt32(dr["IsVisiableAtHome"]);                    info.IsVisiablePictureAtHome = HJConvert.ToInt32(dr["IsVisiablePictureAtHome"]);                    infos.Add(info);                }            }            return infos;        }

2.如果不要求分页,可以直接使用SQL语句来查询整张表。

/// <summary>        /// 通过ShopID获取子项列表        /// </summary>        /// <param name="pid">父类编号</param>        /// <returns>图书列表</returns>        public IList<ShopNavIntroInfo> GetListByID(int ShopID)        {            IList<ShopNavIntroInfo> infos = new List<ShopNavIntroInfo>();            SqlParameter parameter = new SqlParameter("@ShopID", SqlDbType.Int, 4);            parameter.Value = ShopID;            string sql = "select * from ShopNavIntro where IsVisiableAtHome=@ShopID order by OrderNum desc";            using (SqlDataReader dr = SQLHelper.ExecuteReader(CommandType.Text, sql, parameter))            {                while (dr.Read())                {                    ShopNavIntroInfo info = new ShopNavIntroInfo();                    info.DataId = HJConvert.ToInt32(dr["DataId"]);                    info.SortId = HJConvert.ToInt32(dr["SortId"]);                    info.Title = HJConvert.ToString(dr["Title"]);                    info.HelpContent = HJConvert.ToString(dr["HelpContent"]);                    info.AddTime = HJConvert.ToDateTime(dr["AddTime"]);                    info.ViewTimes = HJConvert.ToInt32(dr["ViewTimes"]);                    info.OrderNum = HJConvert.ToInt32(dr["OrderNum"]);                    info.KeyWord = HJConvert.ToString(dr["KeyWord"]);                    info.IsVisiableAtHome = HJConvert.ToInt32(dr["IsVisiableAtHome"]);                    info.IsVisiablePictureAtHome = HJConvert.ToInt32(dr["IsVisiablePictureAtHome"]);                    infos.Add(info);                }            }            return infos;        }

四.订单播报的滚动显示

1.页面

<div class="dispbox fdwid" onclick="orderinfo()">    <div class="tthead">        <a href="javascript:void(0);" class="up_iocn"></a>            最新订单    </div></div><div class="cartbod" id="marquee2_1" style="margin-bottom:10px; border:1px solid #dedede; ">    <div id="marquee2_2" class="" style="padding:0px 0 0 10px;">        <ul class="carthead">            <asp:Repeater runat="server" ID="rptOrderList">                <ItemTemplate>                    <li><span class="red fa">                        <%# WebUtility.Left(Eval("UserName"), 1)%>**</span> 于                        <%# Convert.ToDateTime(Eval("orderTime")).ToShortDateString()%>                        订了 <a href="javascript:void(0);">                        <%# Eval("orderfood")%></a> 等,获得 <span class="red fa">                        <%# Eval("TotalPrice")%>                        <%--<%# Convert.ToInt32(Eval("TotalPrice"))%>--%></span> 积分。                    </li>                </ItemTemplate>            </asp:Repeater>        </ul>    </div>    <div id="marquee2_3" style="padding:0px 0 0 10px;">        <ul>            <asp:Repeater runat="server" ID="rptOrderList1">                <ItemTemplate>                    <li><span class="red fa">                        <%# WebUtility.Left(Eval("UserName"), 1)%>**</span> 于                        <%# Convert.ToDateTime(Eval("orderTime")).ToShortDateString()%>                        订了 <a href="#">                        <%# Eval("orderfood")%></a> 等,获得 <span class="red fa">                        <%# Eval("TotalPrice")%>                        <%--<%# Convert.ToInt32(Eval("TotalPrice"))%>--%></span> 积分。                    </li>                </ItemTemplate>            </asp:Repeater>        </ul>    </div></div>
2.调用js脚本:

<script src="javascript/jquery-1.4a2.min.js" type="text/javascript"></script><script src="javascript/jCommon.js" type="text/javascript"></script><script src="javascript/Common.js" type="text/javascript"></script>
并在

<script type="text/javascript" language="javascript">jQuery(document).ready(function() {    order();//在jcommon.js文件中定义});</script>
中调用。

3,jcommon.js中定义滚动。

function order() {    var speed = 50;    var FGDemo1_111 = document.getElementById('marquee2_1');    var FGDemo1_211 = document.getElementById('marquee2_2');    var FGDemo1_311 = document.getElementById('marquee2_3');    var f2html1 = FGDemo1_211.innerHTML;    //FGDemo1_31.innerHTML = f2html;    jQuery("#marquee2_3").html(f2html1);    function Marquee211() {        if (FGDemo1_311.offsetHeight - FGDemo1_111.scrollTop <= 0)            FGDemo1_111.scrollTop -= FGDemo1_211.offsetHeight        else {            FGDemo1_111.scrollTop++        }    }    var MyMar211 = setInterval(Marquee211, speed)    FGDemo1_111.onmouseover = function() { clearInterval(MyMar211) }    FGDemo1_111.onmouseout = function() { MyMar211 = setInterval(Marquee211, speed) }}
3.页面后台绑定repeater控件

    protected void BindData()    {         ETogoOrder bll=new ETogoOrder();        rptOrderList.DataSource = bll.GetListWithTime(10);        rptOrderList.DataBind();        rptOrderList1.DataSource = bll.GetListWithTime(10);        rptOrderList1.DataBind();    }
SQLSerDAL层

/// <summary>/// 按订单时间降序获取订单列表的前几条(用户最新订单的显示)/// </summary>public IList<ETogoOrderInfo> GetListWithTime(int num){    IList<ETogoOrderInfo> infos = new List<ETogoOrderInfo>();    SqlParameter  parameter=new SqlParameter("@num",SqlDbType.Int,4);    parameter.Value = num;    string sql = "select top 10 UserName,orderTime,TotalPrice,"           +"(select top 1 PName from EFoodInOrder where EFoodInOrder.OrderID=ETogoOrder.OrderID) AS orderfood "           +" from ETogoOrder order by orderTime desc";    using (SqlDataReader dr = SQLHelper.ExecuteReader(CommandType.Text, sql , parameter))    {        while (dr.Read())        {            ETogoOrderInfo info = new ETogoOrderInfo();            info.UserName = HJConvert.ToString(dr["UserName"]);            info.orderTime = HJConvert.ToDateTime(dr["orderTime"]);            info.TotalPrice = HJConvert.ToDecimal(dr["totalprice"]);            info.orderfood = HJConvert.ToString(dr["orderfood"]);            infos.Add(info);        }    }    return infos;}