Mvc 分页helper Ipagelist接口实现

来源:互联网 发布:java拉姆达表达式 编辑:程序博客网 时间:2024/05/24 01:28
 
//Ipagelist类
using System.Collections.Generic;using System.Linq;namespace MvcDemo{/// <summary>/// Represents a subset of a collection of objects that can be individually accessed by index and containing metadata about the superset collection of objects this subset was created from./// </summary>/// <remarks>/// Represents a subset of a collection of objects that can be individually accessed by index and containing metadata about the superset collection of objects this subset was created from./// </remarks>/// <typeparam name="T">The type of object the collection should contain.</typeparam>/// <seealso cref="IList{T}"/>public interface IPagedList<T> : IList<T>{/// <summary>/// Total number of subsets within the superset./// </summary>/// <value>/// Total number of subsets within the superset./// </value>int PageCount { get; }/// <summary>/// Total number of objects contained within the superset./// </summary>/// <value>/// Total number of objects contained within the superset./// </value>int TotalItemCount { get; }/// <summary>/// Zero-based index of this subset within the superset./// </summary>/// <value>/// Zero-based index of this subset within the superset./// </value>int PageIndex { get; }/// <summary>/// One-based index of this subset within the superset./// </summary>/// <value>/// One-based index of this subset within the superset./// </value>int PageNumber { get; }/// <summary>/// Maximum size any individual subset./// </summary>/// <value>/// Maximum size any individual subset./// </value>int PageSize { get; }/// <summary>/// Returns true if this is NOT the first subset within the superset./// </summary>/// <value>/// Returns true if this is NOT the first subset within the superset./// </value>bool HasPreviousPage { get; }/// <summary>/// Returns true if this is NOT the last subset within the superset./// </summary>/// <value>/// Returns true if this is NOT the last subset within the superset./// </value>bool HasNextPage { get; }/// <summary>/// Returns true if this is the first subset within the superset./// </summary>/// <value>/// Returns true if this is the first subset within the superset./// </value>bool IsFirstPage { get; }/// <summary>/// Returns true if this is the last subset within the superset./// </summary>/// <value>/// Returns true if this is the last subset within the superset./// </value>bool IsLastPage { get; }}}
 
 
//BasePagedList类
using System;using System.Collections.Generic;namespace MvcDemo{/// <summary>/// Represents a subset of a collection of objects that can be individually accessed by index and containing metadata about the superset collection of objects this subset was created from./// </summary>/// <remarks>/// Represents a subset of a collection of objects that can be individually accessed by index and containing metadata about the superset collection of objects this subset was created from./// </remarks>/// <typeparam name="T">The type of object the collection should contain.</typeparam>/// <seealso cref="IPagedList{T}"/>/// <seealso cref="List{T}"/>public abstract class BasePagedList<T> : List<T>,  IPagedList<T>{/// <summary>/// Initializes a new instance of a type deriving from <see cref="BasePagedList{T}"/> and sets properties needed to calculate position and size data on the subset and superset./// </summary>/// <param name="index">The index of the subset of objects contained by this instance.</param>/// <param name="pageSize">The maximum size of any individual subset.</param>/// <param name="totalItemCount">The size of the superset.</param>internal protected BasePagedList(int index, int pageSize, int totalItemCount){// set source to blank list if superset is null to prevent exceptionsTotalItemCount = totalItemCount;PageSize = pageSize;PageIndex = index;if (TotalItemCount > 0)PageCount = (int) Math.Ceiling(TotalItemCount/(double) PageSize);elsePageCount = 0;//if (index < 0)//throw new ArgumentOutOfRangeException("index", index, "PageIndex cannot be below 0.");//if (pageSize < 1)//  throw new ArgumentOutOfRangeException("pageSize", pageSize, "PageSize cannot be less than 1.");}#region IPagedList<T> Members/// <summary>/// Total number of subsets within the superset./// </summary>/// <value>/// Total number of subsets within the superset./// </value>public int PageCount { get; protected set; }/// <summary>/// Total number of objects contained within the superset./// </summary>/// <value>/// Total number of objects contained within the superset./// </value>public int TotalItemCount { get; protected set; }/// <summary>/// Zero-based index of this subset within the superset./// </summary>/// <value>/// Zero-based index of this subset within the superset./// </value>public int PageIndex { get; protected set; }/// <summary>/// One-based index of this subset within the superset./// </summary>/// <value>/// One-based index of this subset within the superset./// </value>public int PageNumber{get { return PageIndex + 1; }}/// <summary>/// Maximum size any individual subset./// </summary>/// <value>/// Maximum size any individual subset./// </value>public int PageSize { get; protected set; }/// <summary>/// Returns true if this is NOT the first subset within the superset./// </summary>/// <value>/// Returns true if this is NOT the first subset within the superset./// </value>public bool HasPreviousPage{get { return PageIndex > 0; }}/// <summary>/// Returns true if this is NOT the last subset within the superset./// </summary>/// <value>/// Returns true if this is NOT the last subset within the superset./// </value>public bool HasNextPage{get { return PageIndex < (PageCount - 1); }}/// <summary>/// Returns true if this is the first subset within the superset./// </summary>/// <value>/// Returns true if this is the first subset within the superset./// </value>public bool IsFirstPage{get { return PageIndex <= 0; }}/// <summary>/// Returns true if this is the last subset within the superset./// </summary>/// <value>/// Returns true if this is the last subset within the superset./// </value>public bool IsLastPage{get { return PageIndex >= (PageCount - 1); }}#endregion    }}

using System;using System.Collections.Generic;using System.Linq;namespace MvcDemo{/// <summary>/// Represents a subset of a collection of objects that can be individually accessed by index and containing metadata about the superset collection of objects this subset was created from./// </summary>/// <remarks>/// Represents a subset of a collection of objects that can be individually accessed by index and containing metadata about the superset collection of objects this subset was created from./// </remarks>/// <typeparam name="T">The type of object the collection should contain.</typeparam>/// <seealso cref="IPagedList{T}"/>/// <seealso cref="BasePagedList{T}"/>/// <seealso cref="StaticPagedList{T}"/>/// <seealso cref="List{T}"/>public class PagedList<T> : BasePagedList<T>{/// <summary>/// Initializes a new instance of the <see cref="PagedList{T}"/> class that divides the supplied superset into subsets the size of the supplied pageSize. The instance then only containes the objects contained in the subset specified by index./// </summary>/// <param name="superset">The collection of objects to be divided into subsets. If the collection implements <see cref="IQueryable{T}"/>, it will be treated as such.</param>/// <param name="index">The index of the subset of objects to be contained by this instance.</param>/// <param name="pageSize">The maximum size of any individual subset.</param>/// <exception cref="ArgumentOutOfRangeException">The specified index cannot be less than zero.</exception>/// <exception cref="ArgumentOutOfRangeException">The specified page size cannot be less than one.</exception>public PagedList(IEnumerable<T> superset, int index, int pageSize): this(superset == null ? new List<T>().AsQueryable() : superset.AsQueryable(), index, pageSize){}private PagedList(IQueryable<T> superset, int index, int pageSize) : base(index, pageSize, superset.Count()){if (TotalItemCount > 0)    AddRange((index <= 0 | index>PageCount-1)  ? superset.Take(pageSize).ToList() : superset.Skip((index)*pageSize).Take(pageSize).ToList());}}}

using System.Collections.Generic;using System.Linq;namespace MvcDemo{/// <summary>/// Container for extension methods designed to simplify the creation of instances of <see cref="PagedList{T}"/>./// </summary>/// <remarks>/// Container for extension methods designed to simplify the creation of instances of <see cref="PagedList{T}"/>./// </remarks>public static class PagedListExtensions{/// <summary>/// Creates a subset of this collection of objects that can be individually accessed by index and containing metadata about the collection of objects the subset was created from./// </summary>/// <typeparam name="T">The type of object the collection should contain.</typeparam>/// <param name="superset">The collection of objects to be divided into subsets. If the collection implements <see cref="IQueryable{T}"/>, it will be treated as such.</param>/// <param name="index">The index of the subset of objects to be contained by this instance.</param>/// <param name="pageSize">The maximum size of any individual subset.</param>/// <returns>A subset of this collection of objects that can be individually accessed by index and containing metadata about the collection of objects the subset was created from.</returns>/// <seealso cref="PagedList{T}"/>public static IPagedList<T> ToPagedList<T>(this IEnumerable<T> superset, int index, int pageSize){return new PagedList<T>(superset, index, pageSize);}}}

using System;
using System.Collections.Generic;

namespace MvcDemo
{
 /// <summary>
 /// Represents a subset of a collection of objects that can be individually accessed by index and containing metadata about the superset collection of objects this subset was created from.
 /// </summary>
 /// <remarks>
 /// Represents a subset of a collection of objects that can be individually accessed by index and containing metadata about the superset collection of objects this subset was created from.
 /// </remarks>
 /// <typeparam name="T">The type of object the collection should contain.</typeparam>
 /// <seealso cref="IPagedList{T}"/>
 /// <seealso cref="BasePagedList{T}"/>
 /// <seealso cref="PagedList{T}"/>
 /// <seealso cref="List{T}"/>
 public class StaticPagedList<T> : BasePagedList<T>
 {
  /// <summary>
  /// Initializes a new instance of the <see cref="StaticPagedList{T}"/> class that contains the already divided subset and information about the size of the superset and the subset's position within it.
  /// </summary>
  /// <param name="subset">The single subset this collection should represent.</param>
  /// <param name="index">The index of the subset of objects contained by this instance.</param>
  /// <param name="pageSize">The maximum size of any individual subset.</param>
  /// <param name="totalItemCount">The size of the superset.</param>
  /// <exception cref="ArgumentOutOfRangeException">The specified index cannot be less than zero.</exception>
  /// <exception cref="ArgumentOutOfRangeException">The specified page size cannot be less than one.</exception>
  public StaticPagedList(IEnumerable<T> subset, int index, int pageSize, int totalItemCount)
   : base(index, pageSize, totalItemCount)
  {
   AddRange(subset);
  }
 }
}


 htmlhelper 扩展

using System.Text;using System.Text.RegularExpressions;using MvcDemo;namespace System.Web.Mvc{    public enum BarStyle    {        yahoo, digg, meneame, flickr, sabrosus, scott, quotes, black, black2, grayr, yellow, jogger, starcraft2, tres, megas512, technorati, youtube, msdn, badoo, viciao, yahoo2, green_black    }    public static class PagerBarExtension    {        public static string PagerBar<T>(this HtmlHelper html,IPagedList<T> list) where T :class        {            return PagerBar(html, list, BarStyle.technorati, 5);        }        public static string PagerBar<T>(this HtmlHelper html,IPagedList<T> list, BarStyle style) where T :class        {            return PagerBar(html, list, style, 5);        }        public static string PagerBar<T>(this HtmlHelper html,IPagedList<T> list, BarStyle style,int show) where T :class        {            return BuiderBar(html, list.PageNumber, list.PageCount, style, show);        }        private static string BuiderBar(HtmlHelper html,int page ,int total, BarStyle style,int show)        {            if (total == 1)            {                return "";            }            var sb = new StringBuilder();            var path = html.ViewContext.HttpContext.Request.Path;            sb.Append("<div class=\"");            sb.Append(style.ToString());            sb.Append(" pageBar\" >");            var queryString = html.ViewContext.HttpContext.Request.QueryString.ToString();            if (queryString.IndexOf("p=") < 0)            {                queryString += "&p=" + page;            }            var re = new Regex(@"p=\d+", RegexOptions.IgnoreCase);            var result = re.Replace(queryString, "p={0}");            if (page != 1)            {                sb.AppendFormat("<span><a href=\"{0}\" title=\"第一页\">{1}</a></span>", path + "?" + string.Format(result, 1), "<<");                sb.AppendFormat("<span><a href=\"{0}\" title=\"上一页\">{1}</a></span>", path + "?" + string.Format(result, page - 1), "<");            }            if(page>(show+1))            {                sb.AppendFormat("<span><a href=\"{0}\" title=\"前" + (show + 1) + "页\">{1}</a></span>", path + "?" + string.Format(result,page-(show + 1)), "..");            }            for (var i = page-show; i <= page+show; i++)            {                if (i == page)                {                    sb.AppendFormat("<span class=\"current\">{0}</span>", i);                }                else                {                    if (i > 0 & i<=total)                    {                        sb.AppendFormat("<span><a href=\"{0}\">{1}</a></span>", path + "?" + string.Format(result, i), i);                    }                }            }            if (page < (total-(show)))            {                sb.AppendFormat("<span><a href=\"{0}\" title=\"后" + (show + 1) + "页\">{1}</a></span>", path + "?" + string.Format(result, page + (show + 1)), "..");            }            if (page < total)            {                sb.AppendFormat("<span><a href=\"{0}\" title=\"下一页\">{1}</a></span>", path + "?" + string.Format(result, page + 1), ">");                sb.AppendFormat("<span><a href=\"{0}\" title=\"最后一页\">{1}</a></span>", path + "?" + string.Format(result, total), ">>");            }            sb.AppendFormat("<span class=\"current\">共{1}页</span>", page, total);            sb.Append("</div>");            return sb.ToString();        }    }} 


 

pagecss 样式表

 

DIV.digg A{border-right:#aad 1px solid; border-top:#aad 1px solid; border-left:#aad 1px solid; color:#009; border-bottom:#aad 1px solid; text-decoration:none; margin:2px; padding:2px 5px}DIV.digg SPAN.current{border-right:#009 1px solid; border-top:#009 1px solid; font-weight:700; border-left:#009 1px solid; color:#fff; border-bottom:#009 1px solid; background-color:#009; margin:2px; padding:2px 5px}DIV.yahoo A{border-right:#fff 1px solid; border-top:#fff 1px solid; border-left:#fff 1px solid; color:#009; border-bottom:#fff 1px solid; text-decoration:underline; margin:2px; padding:2px 5px}DIV.yahoo A:active{border-right:#009 1px solid; border-top:#009 1px solid; border-left:#009 1px solid; color:red; border-bottom:#009 1px solid}DIV.yahoo SPAN.current{border-right:#fff 1px solid; border-top:#fff 1px solid; font-weight:700; border-left:#fff 1px solid; color:#000; border-bottom:#fff 1px solid; background-color:#fff; margin:2px; padding:2px 5px}DIV.meneame{font-size:80%; color:#ff6500; text-align:center; margin:3px; padding:3px}DIV.meneame A{border-right:#ff9600 1px solid; background-position:50% bottom; border-top:#ff9600 1px solid; background-image:url(meneame.jpg); border-left:#ff9600 1px solid; color:#ff6500; margin-right:3px; border-bottom:#ff9600 1px solid; text-decoration:none; padding:5px 7px}DIV.meneame A:hover{border-right:#ff9600 1px solid; border-top:#ff9600 1px solid; background-image:none; border-left:#ff9600 1px solid; color:#ff6500; border-bottom:#ff9600 1px solid; background-color:#ffc794}DIV.meneame SPAN.current{border-right:#ff6500 1px solid; border-top:#ff6500 1px solid; font-weight:700; border-left:#ff6500 1px solid; color:#ff6500; margin-right:3px; border-bottom:#ff6500 1px solid; background-color:#ffbe94; padding:5px 7px}DIV.meneame SPAN.disabled{border-right:#ffe3c6 1px solid; border-top:#ffe3c6 1px solid; border-left:#ffe3c6 1px solid; color:#ffe3c6; margin-right:3px; border-bottom:#ffe3c6 1px solid; padding:5px 7px}DIV.flickr A{border-right:#dedfde 1px solid; background-position:50% bottom; border-top:#dedfde 1px solid; border-left:#dedfde 1px solid; color:#0061de; margin-right:3px; border-bottom:#dedfde 1px solid; text-decoration:none; padding:2px 6px}DIV.flickr SPAN.current{font-weight:700; color:#ff0084; margin-right:3px; padding:2px 6px}DIV.sabrosus A{border-right:#9aafe5 1px solid; border-top:#9aafe5 1px solid; border-left:#9aafe5 1px solid; color:#2e6ab1; margin-right:2px; border-bottom:#9aafe5 1px solid; text-decoration:none; padding:2px 5px}DIV.sabrosus A:hover{border-right:#2b66a5 1px solid; border-top:#2b66a5 1px solid; border-left:#2b66a5 1px solid; color:#000; border-bottom:#2b66a5 1px solid; background-color:#FFFFE0}DIV.sabrosus SPAN.current{border-right:navy 1px solid; border-top:navy 1px solid; font-weight:700; border-left:navy 1px solid; color:#fff; margin-right:2px; border-bottom:navy 1px solid; background-color:#2e6ab1; padding:2px 5px}DIV.sabrosus SPAN.disabled{border-right:#929292 1px solid; border-top:#929292 1px solid; border-left:#929292 1px solid; color:#929292; margin-right:2px; border-bottom:#929292 1px solid; padding:2px 5px}DIV.scott A{border-right:#ddd 1px solid; border-top:#ddd 1px solid; border-left:#ddd 1px solid; color:#88af3f; margin-right:2px; border-bottom:#ddd 1px solid; text-decoration:none; padding:2px 5px}DIV.scott SPAN.current{border-right:#b2e05d 1px solid; border-top:#b2e05d 1px solid; font-weight:700; border-left:#b2e05d 1px solid; color:#fff; margin-right:2px; border-bottom:#b2e05d 1px solid; background-color:#b2e05d; padding:2px 5px}DIV.quotes A{border-right:#ddd 1px solid; border-top:#ddd 1px solid; border-left:#ddd 1px solid; color:#aaa; margin-right:2px; border-bottom:#ddd 1px solid; text-decoration:none; padding:2px 5px}DIV.quotes SPAN.current{border-right:#e0e0e0 1px solid; border-top:#e0e0e0 1px solid; font-weight:700; border-left:#e0e0e0 1px solid; color:#aaa; margin-right:2px; border-bottom:#e0e0e0 1px solid; background-color:#f0f0f0; padding:2px 5px}DIV.black{font-size:80%; color:#a0a0a0; background-color:#000; text-align:center; margin:3px; padding:10px 3px}DIV.black A{border-right:#909090 1px solid; background-position:50% bottom; border-top:#909090 1px solid; background-image:url(bar.gif); border-left:#909090 1px solid; color:silver; margin-right:3px; border-bottom:#909090 1px solid; text-decoration:none; padding:2px 5px}DIV.black SPAN.current{border-right:#fff 1px solid; border-top:#fff 1px solid; font-weight:700; border-left:#fff 1px solid; color:#fff; margin-right:3px; border-bottom:#fff 1px solid; background-color:#606060; padding:2px 5px}DIV.black SPAN.disabled{border-right:#606060 1px solid; border-top:#606060 1px solid; border-left:#606060 1px solid; color:gray; margin-right:3px; border-bottom:#606060 1px solid; padding:2px 5px}DIV.black2 A{border-right:#000 1px solid; border-top:#000 1px solid; border-left:#000 1px solid; color:#000; border-bottom:#000 1px solid; text-decoration:none; margin:2px; padding:2px 5px}DIV.black2 SPAN.current{border-right:#000 1px solid; border-top:#000 1px solid; font-weight:700; border-left:#000 1px solid; color:#fff; border-bottom:#000 1px solid; background-color:#000; margin:2px; padding:2px 5px}DIV.black-red{font-size:11px; color:#fff; font-family:Tahoma,Arial,Helvetica,Sans-serif; background-color:#3e3e3e}DIV.black-red A{color:#fff; background-color:#3e3e3e; text-decoration:none; margin:2px; padding:2px 5px}DIV.black-red SPAN.current{font-weight:700; color:#fff; background-color:#313131; margin:2px; padding:2px 5px}DIV.black-red SPAN.disabled{color:#868686; background-color:#3e3e3e; margin:2px; padding:2px 5px}DIV.grayr{font-size:11px; font-family:Tahoma,Arial,Helvetica,Sans-serif; background-color:#c1c1c1; padding:2px}DIV.grayr A{color:#000; background-color:#c1c1c1; text-decoration:none; margin:2px; padding:2px 5px}DIV.grayr SPAN.current{font-weight:700; color:#303030; background-color:#fff; margin:2px; padding:2px 5px}DIV.grayr SPAN.disabled{color:#797979; background-color:#c1c1c1; margin:2px; padding:2px 5px}DIV.yellow A{border-right:#ccc 1px solid; border-top:#ccc 1px solid; border-left:#ccc 1px solid; color:#000; border-bottom:#ccc 1px solid; text-decoration:none; margin:2px; padding:2px 5px}DIV.yellow SPAN.current{border-right:#d9d300 1px solid; border-top:#d9d300 1px solid; font-weight:700; border-left:#d9d300 1px solid; color:#fff; border-bottom:#d9d300 1px solid; background-color:#d9d300; margin:2px; padding:2px 5px}DIV.jogger{font-family:"Lucida Sans Unicode","Lucida Grande",LucidaGrande,"Lucida Sans",Geneva,Verdana,sans-serif; margin:7px; padding:2px}DIV.jogger A{color:#fff; background-color:#ee4e4e; text-decoration:none; margin:2px; padding:0.5em 0.64em 0.43em}DIV.jogger SPAN.current{color:#6d643c; background-color:#f6efcc; margin:2px; padding:0.5em 0.64em 0.43em}DIV.starcraft2{font-weight:700; font-size:13.5pt; color:#fff; font-family:Arial; background-color:#000; text-align:center; margin:3px; padding:3px}DIV.starcraft2 A{color:#fa0; background-color:#000; text-decoration:none; margin:2px}DIV.starcraft2 SPAN.current{font-weight:700; color:#fff; background-color:#000; margin:2px}DIV.starcraft2 SPAN.disabled{color:#444; background-color:#000; margin:2px}DIV.tres{font-weight:700; font-size:13.2pt; font-family:Arial,Helvetica,sans-serif; text-align:center; margin:3px; padding:7px}DIV.tres A{border-right:#d9d300 2px solid; border-top:#d9d300 2px solid; border-left:#d9d300 2px solid; color:#fff; border-bottom:#d9d300 2px solid; background-color:#d90; text-decoration:none; margin:2px; padding:2px 5px}DIV.tres SPAN.current{border-right:#fff 2px solid; border-top:#fff 2px solid; font-weight:700; border-left:#fff 2px solid; color:#000; border-bottom:#fff 2px solid; margin:2px; padding:2px 5px}DIV.megas512 A{border-right:#dedfde 1px solid; background-position:50% bottom; border-top:#dedfde 1px solid; border-left:#dedfde 1px solid; color:#99210b; margin-right:3px; border-bottom:#dedfde 1px solid; text-decoration:none; padding:2px 6px}DIV.megas512 SPAN.current{font-weight:700; color:#99210b; margin-right:3px; padding:2px 6px}DIV.technorati A{border-right:#ccc 1px solid; background-position:50% bottom; border-top:#ccc 1px solid; font-weight:700; border-left:#ccc 1px solid; color:#4261de; margin-right:3px; border-bottom:#ccc 1px solid; text-decoration:none; padding:2px 6px}DIV.youtube{border-top:#9c9a9c 1px dotted; font-size:13px; color:#313031; font-family:Arial,Helvetica,sans-serif; background-color:#cecfce; text-align:right; padding:4px 6px 4px 0}DIV.youtube A{font-weight:700; color:#0030ce; text-decoration:underline; margin:0 1px; padding:1px 3px}DIV.youtube SPAN.current{color:#000; background-color:#fff; padding:1px 2px}DIV.msdn{font-size:13px; color:#313031; font-family:Verdana,Tahoma,Arial,Helvetica,Sans-Serif; background-color:#fff; text-align:right; padding:4px 6px 4px 0}DIV.msdn A{border-right:#b7d8ee 1px solid; border-top:#b7d8ee 1px solid; border-left:#b7d8ee 1px solid; color:#0030ce; border-bottom:#b7d8ee 1px solid; text-decoration:none; margin:0 3px; padding:5px 6px 4px 5px}DIV.msdn SPAN.current{border-right:#b7d8ee 1px solid; border-top:#b7d8ee 1px solid; font-weight:700; border-left:#b7d8ee 1px solid; color:#444; border-bottom:#b7d8ee 1px solid; background-color:#d2eaf6; margin:0 3px; padding:5px 6px 4px 5px}DIV.badoo{font-size:13px; color:#48b9ef; font-family:Arial,Helvetica,sans-serif; background-color:#fff; text-align:center; padding:10px 0}DIV.badoo A{border-right:#f0f0f0 2px solid; border-top:#f0f0f0 2px solid; border-left:#f0f0f0 2px solid; color:#48b9ef; border-bottom:#f0f0f0 2px solid; text-decoration:none; margin:0 2px; padding:2px 5px}DIV.badoo A:hover{ background:#fff;}DIV.badoo SPAN.current{border-right:#ff5a00 2px solid; border-top:#ff5a00 2px solid; font-weight:700; border-left:#ff5a00 2px solid; color:#fff; border-bottom:#ff5a00 2px solid; background-color:#ff6c16; padding:2px 5px}.manu A{border-right:#eee 1px solid; border-top:#eee 1px solid; border-left:#eee 1px solid; color:#036cb4; border-bottom:#eee 1px solid; text-decoration:none; margin:2px; padding:2px 5px}.manu .current{border-right:#036cb4 1px solid; border-top:#036cb4 1px solid; font-weight:700; border-left:#036cb4 1px solid; color:#fff; border-bottom:#036cb4 1px solid; background-color:#036cb4; margin:2px; padding:2px 5px}DIV.green_black A, DIV.green_black A:visited{border-right:#2c2c2c 1px solid; border-top:#2c2c2c 1px solid; background:#2c2c2c url(/Content/images/image0.gif) 0 bottom; border-left:#2c2c2c 1px solid; color:#fff; margin-right:2px; border-bottom:#2c2c2c 1px solid; text-decoration:none; padding:2px 5px}DIV.green_black A:hover, DIV.green_black A:active{border-right:#aad83e 1px solid; border-top:#aad83e 1px solid; background:url(/Content/images/image0.gif) #aad83e; border-left:#aad83e 1px solid; color:#fff; border-bottom:#aad83e 1px solid}DIV.green_black SPAN.current{border-right:#aad83e 1px solid; border-top:#aad83e 1px solid; font-weight:700; background:url(/Content/images/image0.gif) #aad83e; border-left:#aad83e 1px solid; color:#fff; margin-right:2px; border-bottom:#aad83e 1px solid; padding:2px 5px}DIV.viciao{margin-top:20px; margin-bottom:10px}DIV.viciao A{border-right:#8db5d7 1px solid; border-top:#8db5d7 1px solid; border-left:#8db5d7 1px solid; color:#000; margin-right:2px; border-bottom:#8db5d7 1px solid; text-decoration:none; padding:2px 5px}DIV.viciao SPAN.current{border-right:#e89954 1px solid; border-top:#e89954 1px solid; font-weight:700; border-left:#e89954 1px solid; color:#000; margin-right:2px; border-bottom:#e89954 1px solid; background-color:#ffca7d; padding:2px 5px}DIV.viciao SPAN.disabled{border-right:#ccc 1px solid; border-top:#ccc 1px solid; border-left:#ccc 1px solid; color:#ccc; margin-right:2px; border-bottom:#ccc 1px solid; padding:2px 5px}DIV.yahoo2{font-size:0.85em; font-family:Tahoma,Helvetica,sans-serif; text-align:center; margin:3px; padding:3px}DIV.yahoo2 A{border-right:#ccdbe4 1px solid; background-position:50% bottom; border-top:#ccdbe4 1px solid; border-left:#ccdbe4 1px solid; color:#0061de; margin-right:3px; border-bottom:#ccdbe4 1px solid; text-decoration:none; padding:2px 8px}DIV.yahoo2 A.next{border-right:#ccdbe4 2px solid; border-top:#ccdbe4 2px solid; border-left:#ccdbe4 2px solid; border-bottom:#ccdbe4 2px solid; margin:0 0 0 10px}DIV.yahoo2 A.prev{border-right:#ccdbe4 2px solid; border-top:#ccdbe4 2px solid; border-left:#ccdbe4 2px solid; border-bottom:#ccdbe4 2px solid; margin:0 10px 0 0}DIV.digg, DIV.yahoo, DIV.flickr, DIV.sabrosus, DIV.scott, DIV.quotes, DIV.megas512, DIV.technorati, .manu, DIV.green_black{text-align:center; margin:3px; padding:3px}DIV.digg A:hover, DIV.digg A:active, DIV.yahoo A:hover{border-right:#009 1px solid; border-top:#009 1px solid; border-left:#009 1px solid; color:#000; border-bottom:#009 1px solid}DIV.digg SPAN.disabled, DIV.yahoo SPAN.disabled, DIV.black2 SPAN.disabled, DIV.yellow SPAN.disabled, .manu .disabled{border-right:#eee 1px solid; border-top:#eee 1px solid; border-left:#eee 1px solid; color:#ddd; border-bottom:#eee 1px solid; margin:2px; padding:2px 5px}DIV.meneame A:active, DIV.flickr A:hover{border-right:#000 1px solid; border-top:#000 1px solid; background-image:none; border-left:#000 1px solid; color:#fff; border-bottom:#000 1px solid; background-color:#0061de}DIV.flickr SPAN.disabled, DIV.megas512 SPAN.disabled{color:#adaaad; margin-right:3px; padding:2px 6px}DIV.pagination A:active, DIV.msdn A:hover{border-right:#b7d8ee 1px solid; border-top:#b7d8ee 1px solid; border-left:#b7d8ee 1px solid; color:#0066a7; border-bottom:#b7d8ee 1px solid; background-color:#d2eaf6}DIV.scott A:hover, DIV.scott A:active{border-right:#85bd1e 1px solid; border-top:#85bd1e 1px solid; border-left:#85bd1e 1px solid; color:#638425; border-bottom:#85bd1e 1px solid; background-color:#f1ffd6}DIV.scott SPAN.disabled, DIV.quotes SPAN.disabled, DIV.green_black SPAN.disabled{border-right:#f3f3f3 1px solid; border-top:#f3f3f3 1px solid; border-left:#f3f3f3 1px solid; color:#ccc; margin-right:2px; border-bottom:#f3f3f3 1px solid; padding:2px 5px}DIV.quotes A:hover, DIV.quotes A:active{border-right:#a0a0a0 1px solid; border-top:#a0a0a0 1px solid; border-left:#a0a0a0 1px solid; margin-right:2px; border-bottom:#a0a0a0 1px solid; padding:2px 5px}DIV.black A:hover, DIV.black A:active{border-right:#f0f0f0 1px solid; border-top:#f0f0f0 1px solid; background-image:url(invbar.gif); border-left:#f0f0f0 1px solid; color:#fff; border-bottom:#f0f0f0 1px solid; background-color:#404040}DIV.black2, DIV.yellow{text-align:center; margin:3px; padding:7px}DIV.black2 A:hover, DIV.black2 A:active{border-right:#000 1px solid; border-top:#000 1px solid; border-left:#000 1px solid; color:#fff; border-bottom:#000 1px solid; background-color:#000}DIV.black-red A:hover, DIV.black-red A:active{color:#fff; background-color:#ec5210}DIV.grayr A:hover, DIV.grayr A:active{color:#000; background-color:#9ff}DIV.yellow A:hover, DIV.yellow A:active{border-right:#f0f0f0 1px solid; border-top:#f0f0f0 1px solid; border-left:#f0f0f0 1px solid; color:#000; border-bottom:#f0f0f0 1px solid}DIV.jogger A:hover, DIV.jogger A:active{color:#fff; background-color:#de1818; margin:2px; padding:0.5em 0.64em 0.43em}DIV.jogger SPAN.disabled, DIV.tres SPAN.disabled, DIV.technorati SPAN.disabled, DIV.youtube SPAN.disabled, DIV.msdn SPAN.disabled, DIV.badoo SPAN.disabled, DIV.yahoo2 SPAN.disabled{display:none}DIV.starcraft2 A:hover, DIV.starcraft2 A:active{color:#fff; background-color:#000}DIV.tres A:hover, DIV.tres A:active{border-right:#ff0 2px solid; border-top:#ff0 2px solid; border-left:#ff0 2px solid; color:#000; border-bottom:#ff0 2px solid; background-color:#ff0}DIV.megas512 A:hover, DIV.megas512 A:active{border-right:#000 1px solid; border-top:#000 1px solid; background-image:none; border-left:#000 1px solid; color:#fff; border-bottom:#000 1px solid; background-color:#777}DIV.technorati A:hover, DIV.technorati A:active{background-image:none; color:#fff; background-color:#4261df}DIV.technorati SPAN.current, DIV.yahoo2 SPAN.current{font-weight:700; color:#000; margin-right:3px; padding:2px 6px}DIV.badoo A:hover, DIV.badoo A:active{border-right:#ff5a00 2px solid; border-top:#ff5a00 2px solid; border-left:#ff5a00 2px solid; color:#ff5a00; border-bottom:#ff5a00 2px solid}.manu A:hover, .manu A:active{border-right:#999 1px solid; border-top:#999 1px solid; border-left:#999 1px solid; color:#666; border-bottom:#999 1px solid}DIV.viciao A:hover, DIV.viciao A:active{border-right:red 1px solid; border-top:red 1px solid; border-left:red 1px solid; margin-right:2px; border-bottom:red 1px solid; padding:2px 5px}DIV.yahoo2 A:hover, DIV.yahoo2 A:active{border-right:#2b55af 1px solid; border-top:#2b55af 1px solid; background-image:none; border-left:#2b55af 1px solid; color:#fff; border-bottom:#2b55af 1px solid; background-color:#3666d4}DIV.yahoo2 A.next:hover, DIV.yahoo2 A.prev:hover{border-right:#2b55af 2px solid; border-top:#2b55af 2px solid; border-left:#2b55af 2px solid; border-bottom:#2b55af 2px solid}


 

原创粉丝点击