方法一:使用传统的sql语句实现分页,    public class UserprintDao如下

/// <summary>
/// 取得用户申请记录列表(按分页)
/// </summary>
/// <param name="userid"></param>
/// <param name="start"></param>
/// <param name="end"></param>
/// <returns></returns>
public List<Userprint> GetUserReportListByUserId(Userprint userprint)
{
string sql =
"select * from (select row_number() over(order by id desc) as num,* from userprint where userid=@userid ";
if (!string.IsNullOrEmpty(userprint.Printname))
{
sql += " and printname like @printname";
}
sql += ") as t where t.num>=@start and t.num<=@end";
return DoUserprintList(sql, userprint);
} //统一函数返回打印列表
public List<Userprint> DoUserprintList(string sql, Userprint userprint)
{
try
{
using (SqlConnection conn = SqlHelper.GetConn())
{
return conn.Query<Userprint>(sql, userprint).ToList<Userprint>();
}
}
catch (Exception)
{
return null;
}
}
//统一函数返回记录总数
public int DoRecordCount(string sql,Userprint userprint)
{
try
{
using (SqlConnection conn = SqlHelper.GetConn())
{
return conn.ExecuteScalar(sql, userprint).ToString().ToInt32();
}
}
catch (Exception)
{
return ;
}
}
/// <summary>
        /// 取用户申请记录列表总数
        /// </summary>
        /// <param name="userprint"></param>
        /// <returns></returns>
        public int GetUserReportRecordCount(Userprint userprint)
        {
            string sql = "select count(1) from userprint where userid=@userid";
            SqlParameter[] para;
            if (!string.IsNullOrEmpty(userprint.Printname))
            {
                sql += " and printname like @printname";
            }
            return DoRecordCount(sql, userprint);
        }

控制器中如下

 public ActionResult ReprotManage()
{
Userprint tempuserprint = new Userprint();
var keys = Request["keys"];
if (!string.IsNullOrEmpty(keys))
{
tempuserprint.Printname = "%"+keys+"%";
} tempuserprint.Userid = getUserBySession().Id;
int pageIndex = Request["pageIndex"] == null ? : Request["pageIndex"].ToInt32(); int pageCount = GetPageCount(tempuserprint, pageSize, printdao.GetUserReportRecordCount); int start = (pageIndex - ) * pageSize + ;
int end = pageIndex * pageSize;
tempuserprint.start = start;
tempuserprint.end = end; ViewData.Model = printdao.GetUserReportListByUserId(tempuserprint);
ViewBag.pageIndex = pageIndex;
ViewBag.pageCount = pageCount;
return View();
}
//计算分页总数,使用委托合成一个函数
public int GetPageCount(Userprint userprint, int pageSize, Func<Userprint, int> GetRecordCount)
{
return Math.Ceiling((double)GetRecordCount(userprint) / pageSize).ToString().ToInt32();
}

在view视图添加分页代码,代码如下:

 <div class="text-center">@Html.Raw(Print.PageBar.GetPageBarToUlLi(ViewBag.pageIndex, ViewBag.pageCount))</div>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web; namespace Print
{
public class PageBar
{
public static string GetPageBarToUlLi(int pageIndex, int pageCount)
{
if (pageCount <= )
{
return string.Empty;
}
int start = pageIndex - ;
start = start < ? : start;
int end = start + ;
end = end > pageCount ? pageCount : end;
StringBuilder sb = new StringBuilder();
sb.Append("<nav><ul class='pagination'><li");
if (pageIndex == )
sb.Append(" class='disabled'");
sb.Append("><a href='?pageIndex=1' aria-label='Previous'><span aria-hidden='true'>").Append("第一页").Append("</span></a></li>"); for (int i = start; i <= end; i++)
{
if (i == pageIndex)
sb.Append("<li class='active'><a href=javascript:void(0)>" + i + "</a></li>");
else
{
sb.Append(string.Format("<li><a href=?pageIndex={0}>{0}</a></li>", i));
}
}
sb.Append("<li");
if (pageIndex == pageCount)
sb.Append(" class='disabled'");
sb.Append("><a href='?pageIndex=").Append(pageCount).Append("' aria-label='Next'> <span aria-hidden='true'>最后一页</span></a></li></ul></nav>");
return sb.ToString();
}
public static string GetPageBar(int pageIndex, int pageCount)
{
if (pageCount <= )
{
return string.Empty;
}
int start = pageIndex - ;
start = start < ? : start;
int end = start + ;
end = end > pageCount ? pageCount : end;
StringBuilder sb = new StringBuilder();
sb.Append("<a href=?pageIndex=1>第一页</a>");
for (int i = start; i <= end; i++)
{
if (i == pageIndex)
sb.Append(" " + i + " ");
else
{
sb.Append(string.Format("<a href=?pageIndex={0}>{0}</a>", i));
}
}
sb.Append(string.Format("<a href=?pageIndex={0}>最后一页</a>", pageCount));
return sb.ToString();
}
}
}

写的有点乱,这是从项目中复制出来的,其中使用到了ORM框架Dapper, js库jquery,UI美化:bootstrip,自行添加。

效果图如下:

aaarticlea/png;base64,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" alt="" />

方法二:使用第三方库PageList,添加引用 ,使用NuGet添加:PagedList,同时也会添加PagedList.Mvc

在控制器中实现如下代码:

  public ActionResult Index(SearchInfo info, int page = ){

   var result=(from p in db.userprints select p).OrderByDescending(m => m.addtime).ToPagedList(page, );
   if (Request.IsAjaxRequest())
           return PartialView("_statislist", statis);
   return View(result); }

在主视图中代码:

<div class="col-md-10">
@Html.Partial("_statislist", Model)
</div>

部分视图_statislist.cshtml代码如下:

@using PagedList.Mvc
@model IPagedList<Print.Entity.userprint> <div id="statislist">
<div class="pagedList" >
@Html.PagedListPager(Model,page=>Url.Action("Index",new{page}),PagedListRenderOptions.Classic)
</div>
<table class="table table-hover table-striped">
<tr>
<th>
文印名称
</th>
<th>
打印色彩
</th>
<th>
单双面
</th> <th>
纸张大小
</th> </tr> @foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.printname)
</td>
<td>
@Html.DisplayFor(modelItem => item.printcolor)
</td>
<td>
@Html.DisplayFor(modelItem => item.printmode)
</td> <td>
@Html.DisplayFor(modelItem => item.printpagersize)
</td> </tr>
}
</table>
</div>

为分页添加样式,此代码放在主视图就行

<script>
$(function () { $(".pagedList a").click(function () {
$.ajax({
url: $(this).attr("href"),
data: $("form").serialize(),
type: "get"
}).done(function (data) {
$("#statislist").replaceWith(data);
});
});
});
</script>

效果如下:

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAArsAAAD7CAIAAADlxsuQAAAgAElEQVR4nO3da1cT2Z6A8XyaOa9NvksrfI/pnnO05RtMn3cz3e11uRRFBbkIBBJCuCeQkJh7SLjIRW0bwenGK8q8+MN2U1WpqkASCXl+q1cvDFGSErMf9t5V8dy+ffvOnTt3797t7Oy8f/9+V1fXo0ePuru7nzx50tvb29fX19/f//Tp08HBweHh4eHh4ZGRkZGRkdHR0UAgEAgEgsHg2JFQKDReWRgAANSazcgbCoXUGB0MBmXgHh0dlaFchvXBwcGnT5/29/f39fX19vY+efKku7v70aNHXV1d9+/f7+zsvHv37p07d27fvu1RufDgwYOHDx+qXDC0gt/vV5Vg6INwODxxZHJycnJycgoAAHw/Mhyr0VmFhWoIVQ9+v9/QDSoaHj58+ODBAxUNHj0XHj9+3NPT09vb29/fPzAwIK2gZhTka8iXNMTB9PT0jGb2yBwAAGgUNf7qg/L09LQhI2QoV+kgsw7SDQMDA/39/b29vT09PY8fP9ajwXPv3j2VC7ISIVMLQ0NDal5BzShIKMgXVnEgjzISiUQikehx85oFAABQa/pQaxiFZWhWMSEDt6oHSQeZdVDzDUNDQzLZICsUKhru3bvnkb0LkgtqJUKmFmSbgmoFFQpSCaoP9BqIxWLxChaPSwAAgOoZxtNKw24sFtOrQjWEqgcZ1lU3yEYHmWzQVygeP34sexo8stWxp6dHzwU1tWBoBRUKUgmqD/QCSCaTyWTyGQAA+B5kINYLQ28IqQdJB0M3qMkGPRp6enpkI6RHtjrKYoTauKByQdYg9FZQoaAqQT3EVCqVSqXS6XTGhSwAAKiem0E2nU7LoKzGaL0eJB0M3TA5OamiQW1rkOUJ2QjpkfUIw2JEKBQKh8OTk5PT09OyBiGtIJEiEwkqEfQIyB3JawpWigAAoHqWo6o+7KqxWM8LFRAy/SADunSDrFNMT09PTk6Gw+FQKGRYnpC1CY+sRwwMDAwNDanZBckF2bKg1iCkFdR0gp4IKgvkySwdKQEAgEZR46/eFqohJCDUxIN0g1qnkM0NEg1qpmFoaGhgYEDWJjwywTA4OOj3+/XFCFmJUFMLi4uLMq8giw7ytfVEUA+3XC4vW1k5bhUAAFTPMJ5ajrnlclnPCBUQMnzLsoXMN8g6hZpskGhQyxN+v1/WJp48eeLp6+tTux1VLkxPT+u5IFMLMq+gt4IKBfUQDc9qbW1tbW3tOQAAqCcZcA2jsBqd9XTQu0HmG9Rkg0SDLE9INKhdkH19fR6ZYFDbF+TMCFmMsMwFaQU9FGTCQI+D9SMblW0CAIDq2Yytavw1ZISaipDhW3WDZTTMzs7K2RNqQ4NMM3jMEwwzMzORSGR+fl7lQjqdzmaz+XxezSuoGQW9ElQKbFl5cdxLAABQPcN4ajnmqrDQ60HNOqj5hnw+n81mZYVComF+fj4SiehrE2qawaN2MKgJBlmPiMVi5lxQ2xRUK6hQ0MtAPatXlf0BAACqZzO26lWhxmU9HVQ3yEYHczTEYjFZm9CnGWQ3g0dOkZAJBrn0QiQSkfWIZDKZSqX0XFBrEKoVZEZBVYIhBV5X9icAAKiezdhqCAu9HmTWQbpBrVPo0ZBKpZLJpKxNyDTD1NSUTDPISROe4eFhOUViYmJCbXhU6xGyd0HPBZlaMLSCCgXLINje3t7e3n4DAABqTQZZy6TQ00HvBpls0KNB9jSotQm1BXJiYkJOmhgeHvbIkoR+RuXCwsLi4qKsR8hWx6WlpXK5bM4F1Qp6JZjjYGdnZ2dnZxcAANSaDLLmjNDrQXWDORrK5fLS0pJshJS1icXFxYWFBf1MS1mY8IyMjASDwXA4rE6RUDsYZIJBbXWUxQjZsiBTC3orqFCoFAdvj/s/AABQPcN4Wikj9HRQ3aAmGyQaZE+DbITUpxlkN4OcNBEOh4PB4MjIiEfOklBLEnKKRDKZVBMM9rlg2QpuguAvAABQPTdJUakbbKJBTTPIbob5+Xl9YWJ0dNQjZ0mokyrVkoS+g0HWI9bX1zc3Ny1zQbWCZRb8DQAA6skyJvRuMEfD5ubm+vq6rE0YdjPIwoQ6zVLOmPDIJgY5S0Ku2pRIJOQUCdnBYJhg0HNBysUwr2BOhL29vb29vXcAAKDWZJA1B4RhvkGGbD0aDNMMsptBTppIJBJyNSd1xkQgEPAEg0EpBtnEIGdJyJKEOkVCn2B49eqVPrugTy3oreBYCe8BAED13NeD6gYVDWqm4dWrV/o0g37SRDqdVmdMyFaG8fHxYDDokXeqlAs3ySYGw55HywkGcy6oUKgUBx8AAECtVcoIlQ7maLCcZjDsf1RbGWTz49jYmEff9igXbpJiyOfzhiUJfYJB7V2olAuOlfARAABUz309mKNB9jTo0wyGhYl8Pq+KQc6xVJsfD4vBsO1RNjGoJQn541KpVCwWW1hYiMVii4uLiURC3v86lUqlUil5F+zskZwmb6VwnPe/+hvwX6E+SqXS+vr63t7eJwAAGssyI1Q3SDToyxOW0wxqYUK2Mhg2Px4Wg7ydhGx7lCsxpFIpfRODpEc0Gi0Wi1tbW4YJBtm7oGYXLCcS3Dxh738NNOC/Ov1tvX///vXr16VS6f3793X6EgAA2LDsBnM06NMMclkntTChb2WQzY9yVQYphlAo5FGnVloWw8rKyvPnzxOJRD6f15ck1MkRMt2hViJUKJifzGdbjSkG+8dwSn/++efm5mZdvwQAAAaW9WCYaVBrE3LqhL4woYpBP8fSUAxygqVHXR/afKJEuVyWTQxzc3MbGxuGPY+GCQabXLB8hvvHef/5tAH/7dfThw8fSqVSXb8EAABuusEQDYZpBn1hQs6YkPWEcrlsPl1CXSv6sBjUqZXqao9q2+P6+vrs7Kw6S0JfktAnGCxzwSYRvhzn++fTBvz3pc6Wlpbq/SUAAC3OJiAso8EwzaAWJvStDOvr62rzo37lRznB8lsx6BdjSCaThhMl9GIwL0kYJhhsWsH++fv+OdiA/+r9t0gxAAAazKYbzNMMhoUJy2KQ0yX0YpBLMhwWg+FiDHoxbGxsSDHomxgqLUlQDPX+EgAA6KoqBn1hQrYyqNMlLE+wVJdkqFgMhlMrbYrBckmiqlYQ56MYSqVSvb8EAABmhm6otDBhUwz6CZYnL4a5uTk5UWJ7e1vfxKBPMOg7GCgGAAAaybIYVDQYFiZkK4NsflSnS1RRDPq7Vp6mGFy2wtfjfP8abMB/X+usVCrV+0sAAFqcy244fTHIRZxcFYNcjIFicI9iAADUW82LQV0rWi7JUJtiMJwooW9iMOSCYyIcHOf711AD/juos3K5XO8vAQBocY4BYYgGw1YG/XSJFimGyVt/HITvUwwAgNby3YpBvdV1UxXD5K0/Dg4OKAYAQMv5LsUQDoePFUMikTj7xdAe+uvg4ODgjxdh5hgAAK2nYcWQSCQciiGbzcrbUMmbSmxubkYikSqKYWv0v3/88e6zL1+e3f3xx3vPal8MSx31XZVId/7007/HXh28Gvv3T/8ee1XF3yLFAACot5oXw8uXL9VbS8ibUckbXp+wGPRLROuXbzKdKJG8K7nwIvjLj78EX35rBfvnf7b2MahWSHf+9FNn2vXfIsUAAGgwy26QaDCfLmG+iJNcKPo7FEPy7n/K9MK9H3/8JfhCn12wf8JnqxikGX7qTFfZDBQDAKDBmrQYNkf/+z9/vPvsy4vAL+ehGP499uog3fmT+2SgGAAADdakxcCqBMUAAGio5i2Gz/tbgV9kx+Ozez/+eC/VfMXAzkcAQNNo5mIwnVrZbMVwchQDAKDBKIa6/FfvvzaKAQDQYBQDxQAAgDOKgWIAAMAZxUAxAADgjGKgGAAAcEYxUAwAADijGCgGAACcUQwUAwAAzs5WMUSj0RcvXlAM9vb391dWVur6JQAAMDhbxZBKpZaWligGezs7Oy9fvqzrlwAAwOBsFcP6+nosFiuXy69fv6YYzPb393d2dlZXVz99+lSnLwEAgKWzVQwvX77c2trK5XKJRCKRSCSTyVQqlU6nM5lMNpvN5XL5fL5QKBQKhWKxWCwWl46UNGVbjSkG+8dwYisrKy9fviQXAACNd+aKod47HwEAwAlQDAAAwBnFAAAAnFEMAADAGcUAAACcUQwAAMAZxQAAAJxRDAAAwBnFAAAAnFEMAADAGcUAAACcUQwAAMAZxQAAAJxRDAAAwBnFAAAAnFEMAADAGcUAAACcUQwAAMAZxQAAAJxRDAAAwBnFAAAAnFEMAADAGcUAAACcUQwAAMAZxQAAAJydrWKIRCLRaDQWi8Xj8UQikUwmU6lUOp3OZDLZbDaXy+Xz+UKhUCgUisVisVhcOlLSlAEAQK3pQ60af2U4lqE5n8/ncrlsNpvJZNLpdCqVSiaTiUQiHo/HYrFoNBqJRGZmZqampiYmJkKhUDAY9Pv9g4ODAwMDvb293d3dXV1dnZ2drorh+fPnGxsbW1tbarJhe3t7Z2dnd3f37du3asphb2/v3bt3MvEgPmg+AgCAWtOHWjX+ynC8t7enJhXevn27u7u7s7Ozvb2tpha2trY2NjZkdqFcLheLxVwul06nk8lkPB6fn5+fnZ2dmpoaHx8PBAIUAwAATYxiAAAAzigGAADgjGIAAADOKAYAAOCMYgAAAM4oBgAA4IxiAAAAzigGAADgjGIAAADOmrIYvF6vm2Lw+Xw+n8/lgXB/z5PdH8CZdYJ//m5+S1V/rO/IaR5YczE/uxM/X587p37I38fJHnk9hj+fz9d8xbC3tyfRYFkM5m8ON983Lv/9q7s17zcfAAP937XNSFPta4vjq4TjYHbuX2cMB9P8WfPhdRkB5+nQVRqzLL85Kw1SNTlWvnNZDPaHw833pf3LRFWHGMAZV+kVudpb7GOi0iBXadQ83y8y7o+P/ls+ujtE5+nQGQrA8UBZFoP9ATlvxXDhwoULFy54TQzfZycrhpO9WLj/LgdwZtn8Kz5NMbgcycz3d/wTzo0TdJJ9MdgkSFO/RJuLwXC7/f1t7mn+LW4eTBMUg5pj8Hq9hp2PPp/vxHMM6tuo2oZw81ICoFmc7McG8y2Wryfuv0pLdYPLYjB/yvE3Ot7YRMzFU+kZVbqn5TetG4bfoj5Q4+z5KQbD064qCNwc30q/F0Azcl8MLl9bqno5rvQAbG4/B6o9OJYv0ZYfO97YjMxPxHFcc/+UHe9pLgY9Gs5uMfz1119er1cVg3rEp9zHoG63OXAuX1MANB2XP1q4f22x/6Ncvrif75cXx4HfcIv5Pi5zrdIf20QMz92ysRzvU2mAszyYNl9dX5WQIbjlisG+FWzu09TfhQCEy3/dNS8Gm9f0c//a4r4YzDc6FoP9jc3lZN9jNve0vFul+5i/imEfg8/nO9PFoK7H4PV6T3+uhE2Lme9mPriOdQbgLHP82auqW6otBjd3OK8vL25eePU7u7/lPBWD+cjYfI8ZDuDpi8HyIDdfMbg8u9J8iA0HyH68tyyGSn8TTfrtCOBjNS+X6gOb15aPphd6+0HRZqSs9NjOmRMMaY5/O5WGz2bn+Izsy6nSnW3uY7h/M50r4XKOwWaAt/zn6ua42/81nJtvR6AFuS8Gl68t7l8Q9JcXm1HwfKu2GBxzzf7GpuY4xlMMNd7H4PKzbsLi3HwXAq3MfTG4+Y02txvuYH5xr/YVvBmZJlysqTs7fmBz+7kpBnVMKv1fv6f+gc0ROEGhNlMxyFWbzGdX6s/hg9U7UTkWg/23rM0f0uzfhQA+nuJf9ymLweb+LfXaYvNk7Q+UIQ7cJEhzMT94+19+tFo7M3/q40m/dZujGOSajzbvXal3wwkOgZvbzb9s3u9CAKLSjwcu/3XbD3XuBzDHgDjfTvYibLjxZK/zTcf8RColgs1RdTxWll9FH2fPdDHwbtcAAHxf+lBLMQAAAGsUAwAAcEYxAAAAZxQDAABwRjEAAABnFAMAAHBGMQAAAGcUAwAAcEYxAAAAZxQDAABwdraKIRKJRKPRWCwWj8cTiUQymUylUul0OpPJZLPZXC6Xz+cLhUKhUCgWi8VicelISVMGAAC1pg+1avyV4ViG5nw+n8vlstlsJpNJp9OpVCqZTCYSiXg8HovFotFoJBKZmZmZmpqamJgIhULBYNDv9w8ODg4MDPT29nZ3d3d1dXV2droqBjW18ObNm93dXTWpINMJMn/w6dOnT58+ff78eX9//8txX79+/fr16wEAAKg1GWQNI+/+/v7nz59laJZ5CJl4UFMOu7u7b968UZMNsp6wurpaKpWKxWI2m3327FkikVhYWJibm5uamgqHwxQDAABNjGIAAADOKAYAAOCMYgAAAM4oBgAA4IxiAAAAzigGAADgjGIAAADOKAYAAOCMYgAAAM4oBgA4ODg48B0x3Gi+WwMfVEvzufO9H2YLoRgAtC7HgYdiqDnLId9lBHDwvy+KAUCr08ehSh+rW/hJt7ZUMRhuqXTP1rR2q93n83WEbT7dfmut7g+DYgDQutQgZPOB+c4ub4cb9sXAksTBwcHBQbjD52tvr1QFkhMUg14Mxd8veb/5eeyoGFZutmnfPR3jR8Ugx1DdXinNALQ2y7HKTUDY3w4b5mPuOM3jeON5Fu7w+TrCFSYS1m61t3d0MMegF8PI5QsXrgQO5xjGfvZ6vT+H9ve/fAld9fmuhg4f93iHagM5wNrRphkAVOYmCPh5t4YMoUAx2Ah3SA5YJcParfb2W2usStitSoz9fFQMx1clxjusyyBc4XYAODg4qDD2GG6s6pewV2lqodJRtYyzljjmWg2s3Wo/PpZJL7CPwboYAle0dQmtGEJXrdcfwh2sSwCozGaqwDwaUQy1ZXkAbYrB/sbz6ngMHPvx96gXKAarVQmv13vpWun4HMNhK7TdXD0+x3DYCoeHkDkGALZshv9K4xPFcEqOTXZAMRz7ufeIDGzfeoFiMBTDyOULF39fMq9KhK762m6umFcljpZ9tGNOMQCwZr8RodLEeKXJCbhhP6NgvsXlPNB5Yx68wh2SDMc39x+q9zjXPMVw4XJAiqF8/ZLX6/W23VjeP7bxcfVmu6ov/SgfHtdG9BeApqMPXfY/9Z7/8amBzAecVQkzq592K+x/ZI5B38cwevnCtzMrP4397PVeDe0f38Jwddy8LHFYXUwyALBgHntsEsFxfDr3A1it2Bx2iuGbyqdTGgc0ioErOAFoGPvZhUq3VHsHCPsUM8QBK0FnB8UAAG6nExjATs/NoXY5i8ABbzCKAQAAOKMYAACAM4oBAAA4oxgAAIAzigEAADijGAAAgDOKAQAAOKMYAACAM4oBAAA4oxgAAIAzigEAADijGAAAgDOKAQAAODtbxRCJRKLRaCwWi8fjiUQimUymUql0Op3JZLLZbC6Xy+fzhUKhUCgUi8Visbh0pKQpAwCAWtOHWjX+ynAsQ3M+n8/lctlsNpPJpNPpVCqVTCYTiUQ8Ho/FYtFoNBKJzMzMTE1NTUxMhEKhYDDo9/sHBwcHBgZ6e3u7u7u7uro6OztdFcPz5883Nja2trbUZMP29vbOzs7u7u7bt2/VlMPe3t67d+9k4kF80HwEAAC1pg+1avyV4Xhvb09NKrx9+3Z3d3dnZ2d7e1tNLWxtbW1sbMjsQrlcLhaLuVwunU4nk8l4PD4/Pz87Ozs1NTU+Ph4IBCgGAACaGMUAAACcUQwAAMAZxQAAAJxRDAAAwBnFAAAAnFEMAADAGcUAAACcUQwAAMAZxQAAAJxRDABQHZ/PV8O7tSzz8THc4nOngQ+51VEMAFpatQOS+yGKwcyRfojcHC4O6ffVhMWQ++2i9+Lv+aNiKFy7pP/jbru29L2PKYAmYv65ttIvq2oLfia2d4Lj08qHbul6m8/nuxK0vNnns/pcPTRdMWR/u+j16sUQuOy7HGCOAcDJyDikRiPDB+5/CHZzz1Ye8wwqHS734dVK+RW84vO1tbX52q4vGW49DIWl68ZP1kWTFUP214sX//UvfY4hcNl3OcCqBIATskwEc0B8dF0M5IIb7ovB5j6tckglDQxVcPyXjUmGpiqGzK8XL/6aO7YqUbh26dIltSzRdq1IMQCohvufYquaY+AnY3suDw7F8PHjx+AViQGbKmCOwVgM6V8vXvw1a9jHMHrZ57t0rXD4DIrX2tjHAOAUbAahqorB5je2yDhn7wRzDOaqaIkjqcXA0vU204aFo60MDeiFJiqG9P/+cPHXjMXOx2PnSgSuNGj/B4Bzoqo5Bvf3NHwJm1+2phMUg/2N59Xx2YNgxTGu8mdqqEmKIfU/P/zwvxnLcyWOFUPxWhvFAODkmGNoDDfh9ZFi+Bi8Yj5A1tMJS9frP/w1RzGk/ueHCxcueI+7PPru/ehln+9y4NgcQ0OmZgCcC47TBvoYVlUxuPkDIdxU2gn+Rs4D88xB8MphMhg/1YhJhuYohsrXYyhcu6SdKxG4wvUYANRJVcVQ/4dzfrgsBvsbzyWrClDLFMcnFYKN+Hm52YtBzq9UczWcKwGgOubhp9LYX8NiOPdDnY2Tzeu0YjFUOAFC2/+oXcGJnY9cJRpAvTkORZUmxm3WGiiGqtjPMbg85mgAigFA6zIMOaf5idb8RzHUuWRfDCf7jagHigEAADijGAAAgDOKAQAAOKMYAACAM4oBAAA4oxgAAIAzigEAADijGAAAgDOKAQAAOKMYAACAM4oBAAA4oxgAAIAzigEAADg7W8UQiUSi0WgsFovH44lEIplMplKpdDqdyWSy2Wwul8vn84VCoVAoFIvFYrG4dKSkKQMAgFrTh1o1/spwLENzPp/P5XLZbDaTyaTT6VQqlUwmE4lEPB6PxWLRaDQSiczMzExNTU1MTIRCoWAw6Pf7BwcHBwYGent7u7u7u7q6Ojs7XRWDmlp48+bN7u6umlSQ6QSZP/j06dOnT58+f/68v7//5bivX79+/fr1AAAA1JoMsoaRd39///PnzzI0yzyETDyoKYfd3d03b96oyQZZT1hdXS2VSsViMZvNPnv2LJFILCwszM3NTU1NhcNhigEAgCZGMQAAAGcUAwAAcEYxAAAAZxQDAABwRjEAAABnFAMAAHBGMQAAAGcUAwAAcEYxAAAAZxQDAFTH5/PV8G6oxOfO936YLeTMFcOrV69ev34txSDvVynF8O7dO3m/LFUMltGgukH53kcYwJlW7YDkfohiMLNkeYRdRgCHtMEM46l5wJVcUMUgw7QM2X///bd6H8s3b968fv361atXJy+GTCZTKBRKpdLKyoq8z/WLFy+ci6F0/ZL30vXyUTGs3GjTv9Habq5SDABcMwxCNr+sqi3cJ0iLU8VguKXSPVvT2q12n8/XEba6VWm/tVbrr1vzYnjx4oW85/XKykqpVCoUCplMxqEYFhcXT1oMS9cveb16MYSu+q6GmGMAcDKGEcvwgZuRzPxZxjz37I9zVZV2foU7fL729nZjE4Q7TBFRYw0rhsXFxWPFMD4+fvpiWLp26dKVK/ocgykYKAYAVbBMBHNAHLguBnLBkfmo2hSDyxvPs3CHz9cRXrtlSIb6B8P3KYbx8fFaFEPx90uXrpWOrUos32hra1PLEm03VykGANVw/1NsVXMM/GRsz2WZUQwHBwfhDikFQzKs3Wpvb1fLEnVYkjholmLY3t7e2dmR0yX+/vvvvb29d+8Kv1+8eG3pw8fStUveS9fLsvlx7KrX23Zj+fCxr9xsa7u5arsREgBs+Hy+E3zK8FnDPe1/2ZrkIJgPWqVjZUguw2fPs9Wb7b522aC3erPd5+sYP/zEeIfv6BPyuXbjNr7TMyeC3gqGXNBPlNjb25Ni2N3d3dnZ2d7erlkxLC8vr62tbWxsbG1tVSqGwm8XL/5e/PDBUAyf5UEfPYXQVZ/v6jjFAMAtx/mAk93T8CVsftmyLA+LTTHY33heacHwVSpBJcNxNp86uZoXw9bW1sbGxtra2vLysqtimJ+fj8fj1RVD/reLF38ryiUZjopBnWOpdcPKjTbjtgYAcM/n853gU4bPGu5p/8uWZT4ONrdYHt4WOJLjV81lappK//Lly5cvqzfbjD8w14neCioXTlkM8Xh8fn6+6mJ4+fLl69evDRdxyv/6w4ULFy5cuODV/Dz26fPYz17vz2PfiiF01dd2c6URhwzAOeA4bSDUne3/KPd/bH2fVTOQg+DYUvrBr/Zv5DwYN82bj189TAbjp8avVkiJmrMsBskFfROD4fJNr1+/fvny5amKIZ/PLy0tLS8vr66u2hTD0VaGd+/fv/+wdO2S99L1kjzI8vU2789jRzMNoavethsEA4B6OPEcA8zMxWDfEK05xxC66jNNm6/cbJOfjFdu6nPqDfl52dAK+gSD5II+wWBTDKurq8vLy0tLS/l83q4YZmdno9FoPB5PJpOGYlhfX5di0C8UrU6XqFAMnz5/HvtZTTu03Vi2ugokAFRiHn4qjf01LIZzP9TZsznmFMM3qg3MNx+mQujbmkVDpterKgb9RAl1ieitra319XVDMSSTyXg8Ho1GZ2dnvxXD5OSkXgzpdDqXy1kWg5xgqW9lMFz5Ub3BhH7RaH1Pg1L/YwigiTkORZUmxm3WGigGe/aLEazvnB2G8dSyFSyXJPRNDHJqpWUx5HK5dDqtF8Pk5OS3YpiZmZFiSCQSUgzFYrFcLqu3lnjx4oUUw/b2dsWFCatoMHRDpYAAAMXr9Vr+Ur/d8kY3f5S92jyBJlTpmFveWNUxR81ZjqqGkVflQqUlCdn2+Mcff7x48UK9qUS5XC4Wi1IMiURCimFmZuawGEKhkCqGWCyWSCRSqZQUg35JBnW6hHlhQk0z2ERDpW4AAACnYR5wDbmgTzDoSxL6iRLqYgxSDKlUKpFIxGIxVQyhUMgTCoUmJiYqFcPy8rJeDGorg1qY0KcZ1NqE8vHjR8t6AAAANSQDrmEUlqHZMMEgSxKyiUEvBjlRwrIYJqrdJvkAAAeQSURBVCYmQqGQZ2xsTIohEomoizhls1nLEyzNCxPmaFAzDXQDAAD1ZtkKanZBzwXzkoTlqZXyVtdy+aZIJCLFMDY2dlgM09PTctlHyxMsDdeKNkwzqLUJFQ3SDeZ0MGcEAACois3YKoOvGoslF2Q9wjDBYLg+tOWplXLBx+np6W/FoN7wWr8kg5wuUSqVVDFYTjPYRIP7egAAACdjqASbXKg0wSDFUCqV5EQJ88UYwuHw2NiYJxgMGi7JoJ8uoRYm1tfX5YwJNc1gjgZZnlDpYFkPhowAAABVsRlbZfBVY7G+GKFyQZ9g2NzcXF9fV0sS5hMl1MUYgsGgJxAISDHI5seFhQXZ/ChbGQwLE/o0g6xNqGiQUycM3eCyHgAAwMkYKsHQCnJyhOSCWo8wTzDIkoRsYpBtjwsLC7LtUYohEAh4AoGAOsFS3/woCxPqHEt9mkGPBplpkD0NarJB+euvv8wBAQAAaksGXMMoLEOz7F1QswuSC/oEg35epf6ulbLtUU6tDAQCntHRUX3zo2xlUFd+VGdM6NMMltGgd4Oab7DxFwAAqJ7jCKvmFaQVLHPBMMEgZ0noV3uUTQxq2+Po6KhnZGQkGAzK5kfZyiBXZTDsf7SJhkrdYPD2OMcnDAAAzAzjqeWYa24F+1zQ9zyqKzHIJoZwOBwMBkdGRjx+v1+2MsjChJxjKQsTapphaWmpXC7L2oREw+bmpuxpkMs6qW7Q00HZ2dmplBEAAOA0ZJA1jLwSCnorvHr1SvYubG5uSi7IekS5XJYdDDLBoJYk5ubm1PWhA4GA3+/3DA8PBwIBfWFCnTFh2M2wvLxsjgaZbJBuUOmg6kE1hDkjAADA6ckgqw+7aiyWoVlaQaYWDLmgnyKhJhjkLAl9SSIQCAwPD3uGhoZGRkbGxsbUGROy/1F2M8hJE/l8Xo8GWZ5YX183dIOeDoaAMPsTAABUz2Zs1YdgCQVDK6yvr8tihJ4L+XxeTpGQHQxqz6OcJTE2NjYyMjI0NOQZHByUhQl5gwm5lJO+myGdTvv9/tHR0WAwKGERDocnJiYmJyenpqamp6dnZmZmZmZmZ2dnZ2fn5ubm5uYiR6IAAKBR1Pgrw7EMzTJMT09PT01NTU5OTkxMhMNhSYFgMDg6Our3+4eHhwcHBwcGBvr6+p48efL48eOurq779+/fu3fvzp07t27dunHjhufp06fDw8NyxoTazRCJROSkCYmGxcVFmW9Ip9PZbDaXy+XzednfUCqVSqVSuVxeXl5WMxDKmuY5AACoNX2o1YdgmUVYXl4ul8syWMt+hXw+n8vlstlsOp2WeYXFxcVYLDY/P6+mFuQij4FAQGYX+vv7e3t7Pf39/YODgyMjI/o0g5w0IWsTsmdycXFRTTlkMhm9G4rFop4Oqh6UFSurAACgepajqmHkleFYhUKxWNRbIZPJyCbHRCKh58Ls7KzsXQiFQjL9MDw8/PTp076+vp6eHk9fX595mkFtgZRomJ+fV9GQTCYN3aDSQdWDUqqsDAAAqmcztupDsFSCCgVDKySTSctckJMj5AIMfr9flip6e3u7u7s9T548kWkG2c2gr02oaJAdCVIPejfIOoWkg14PKiB0RQAAUGvmAVcGYlUJKhRSqZTeCrLJUXY/qFwwrEeoCYZHjx55enp6+vr6BgYG5KQJiYZwOCzRIMsTqh5kskHvBpUOqh5E1iQHAABqzTzgqrFYKkGFgt4KMrUQjUbluguyGKHnguyF7O/vl42QDx8+9Dx+/FimGWRtQm1okGiYnp6WSz7JBzLZMD8/v7CwoKeDkHoQKZM0AACoNfOAq8ZiSQShQmFhYUFaQU0tTE1NTUxMyGJEIBCQ7QtqPUImGB48eOB59OhRd3d3b2+vrE2oaFDLE7JnUj6QWQc5f1JPB6kHCQi9IWwkAQBA9dwMsjIcy9Asw7QeCnLipZwWISsRKhfU7IKcadnT06POtPR0dXU9evRI1ibUTMPo6KiKBtkzKR/o12BQ6aDqQQJCxEziAACg1swDrhqLZWhW12lQoaBfm2F8fFydGaHngswuyHqEXJjBc//+/a6uLlmb0KNBZhqCwaC8x6V8UNXlm+yv4DQPAACq5+YKTi4v4iStICsRfr9ftjoacuHBgwf37t27e/eu5969ew8ePHj48KFEgyxPPH36dGhoSC71KHMU8oFc9lFPB6kHCQhpCJURBrMAAKDWLMdcGY5laJZhWoZsFQpywUdpBTW18PTpU7lYk54LnZ2dd+/evXPnjufu3budnZ0qGnp6eiQaBgYG1LaGoaGh4eFhv99vSAdVDxIQqiGUycqmAABA9WzGVsMoLEOzDNNSCYZQkOtDy9RCf3+/XCLaMhdu377tuXPnjh4NshFSX6GQ9Qz5wJAOUg8SEEJlhNk4ANTTP/7xjxreDZX8w53v/TBbiOWYq+JAyGAtA7ceCjKvIJscZWqhu7v70aNHstVRz4WbN296bt++raJB9jSoaOjt7ZVuUB/o6SD18B9OAgBQPccByXx/939yrR/seWB5hO2Puf57G/hIYWfUZGRkRBJBVYIeCjKvoFpBphbUe1DpuXD9+vX/B6d2NBkjj6OAAAAAAElFTkSuQmCC" alt="" />

PageList分页功能很强大,但是在实际使用中经常与查询在一起使用,如果对查询结果操作分页时,发现后面分页全乱了,最终想了一个办法解决,本人认为这样比较麻烦,但可以解决问题。思路就是:把查询的条件在页面与后台间传递。以显示用户信息为例,利用PagedLilst实现查询+分页:

aaarticlea/png;base64,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" alt="" width="428" height="212" />

1.创建类UserAndPagedList,收集后台所有传递的信息

namespace Course.Entity
{
public class UserAndPagedList
{
public User User { get; set; }
public IPagedList<User> Users { get; set; }
}
}

2.ActionResult

public ActionResult List(User user, int page = )
{
IPagedList<User> list;
if (string.IsNullOrEmpty(user.name))
list = db.Users.Where(u => u.userlevel != ).OrderByDescending(u => u.registertime).ToPagedList<User>(page, );
else
list = db.Users.Where(u => u.userlevel != ).Where(u => u.name.Contains(user.name)).OrderByDescending(u => u.registertime).ToPagedList<User>(page, );
UserAndPagedList objModel = new UserAndPagedList()
{
User = user,
Users = list
}; return View(objModel);
}

3.View

@using PagedList.Mvc
@using Course.Entity
@model Course.Entity.UserAndPagedList
@{
ViewBag.Title = "List";
Layout = "~/Views/Shared/AdminLayout.cshtml";
}
<style>
td {
font-size: 14px;
}
</style>
@using (Html.BeginForm("List", "Admin", new AjaxOptions() { UpdateTargetId = "userlist", HttpMethod = "post", InsertionMode = InsertionMode.Replace }))
{
<input name="name" id="name" placeholder="用户名" class="form-control line" />
<button class="btn btn-success" type="submit">查询</button>
} @Html.Partial("_userlist", Model); //视图
<script>
$(function () {
$("#name").width("200px").val('@Model.User.name'); //填充查询条件
$(":submit").width("60px");
})
</script>

4.部分视图_userlist

@using PagedList.Mvc
@using Course.Entity
@model Course.Entity.UserAndPagedList <div id="userlist">
<div class="pagedList">
@Html.PagedListPager(Model.Users, page => Url.Action("List", new { page, Model.User.name}), PagedListRenderOptions.Classic)
</div>
<table class="table table-hover table-striped">
<tr>
<th width="">
用户名
</th>
<th width="">
用户类型
</th>
<th width="">
操作
</th>
</tr> @foreach (var item in Model.Users)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.name)
</td> <td>
@(item.userlevel == ? "管理员" : item.userlevel == ? "教员" : "学生")
</td> <td>
@Html.ActionLink("编辑", "Edit", new { id = item.name })
@Ajax.ActionLink("删除", "Delete", new { id = item.name }, new AjaxOptions() { Confirm = "确定要删除吗?", OnSuccess = "afterOk" })
</td> </tr>
}
</table>
</div> <script>
function getValue() {
return $("#name").val();
} function beginOk(data) {
if (!confirm("是否要删除?")) {
return false;
}
}
function afterOk(data) {
var arr = data.split(":");
if (arr[] == "ok") {
$("table tr td:contains(" + arr[] + ")").parent().remove();
}
else
alert("无法删除");
}
</script>

关键部位用绿色作标记了,

下面再来一个用查询+分页的例子,不过这次是在页码上作点手脚,分页时使用ajax提交,这样分页与列表部分就实现异步提交了,这个的实现刚开始走了不少弯路,实现如下:

页面上有两块,一块是查询条件,另一块是显示查询列表,列表的设计是放在分部视图中,页码也是分部视图中,代码如下:

Controllers

 public ActionResult ManageCourse(Courseware cw, int firstdirectoryid = , int page = )
{
//第一次加载数据
ViewBag.firstDir = new SelectList(
db.Firstdirectories.OrderBy(m => m.sort)
.Select(m => new { id = m.id, title = m.title }).ToList()
, "id", "title"); ViewBag.coursetype = new SelectList(
db.Contenttypes
.Select(m => new { id = m.id, name = m.name }).ToList()
, "id", "name");
var list = (from c in db.Coursewares
orderby c.seconddirectoryid, c.sort
select c).ToPagedList<Courseware>(page, );
return View(list); }
//分部视图
public ActionResult SysManageCourse(Courseware cw, int firstdirectoryid = , int page = )
{ var list = db.Coursewares.Where(x => x.id != );
if (firstdirectoryid != )
{
if (cw.seconddirectoryid != )
{
list = list.Where(x => x.seconddirectoryid == cw.seconddirectoryid);
}
else
{
list = list.Where(x => x.Seconddirectory.firstdirectoryid == firstdirectoryid);
}
}
if (cw.contenttypeid != )
{
list = list.Where(x => x.contenttypeid == cw.contenttypeid);
}
if (!string.IsNullOrEmpty(cw.title))
{
list = list.Where(x => x.title.Contains(cw.title));
} var obj = list.OrderBy(x => x.seconddirectoryid).ThenBy(x => x.sort).ToPagedList<Courseware>(page, );
return PartialView("_courselist", obj); }

主View--ManageCourse.cshtml

@using PagedList.Mvc
@model PagedList.IPagedList<Course.Entity.Courseware> @{
ViewBag.Title = "ManageCourse";
Layout = "~/Views/Shared/TeacherLayout.cshtml";
}
<style>
td {
font-size: 14px;
}
</style>
@using (Ajax.BeginForm("SysManageCourse", "Teacher", new AjaxOptions() { UpdateTargetId = "divlist", HttpMethod = "post", InsertionMode = InsertionMode.Replace }, new { @class = "form-inline" }))
{
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
<table>
<tr>
<td>
<div class="form-group">
<label for="firstdirectoryid">选择目录:</label>
@Html.DropDownList("firstdirectoryid", ViewBag.firstDir as SelectList, "", new { @class = "form-control" })
</div>
<div class="form-group">
<label for="seconddirectoryid">小节名称:</label>
<select class="form-control" id="seconddirectoryid" name="seconddirectoryid"></select>
</div>
</td>
</tr>
<tr><td height="10px"></td></tr>
<tr>
<td>
<div class="form-group">
<label for="title">&nbsp;&nbsp;&nbsp;&nbsp;小标题:</label>
<input name="title" id="title" style="width: 300px" />
</div>
<div class="form-group">
<label for="contenttypeid">课件类型:</label>
@Html.DropDownList("contenttypeid", ViewBag.coursetype as SelectList, "", new { @class = "form-control" })
</div>
<input type="submit" class="btn btn-success" value="查询" /> </td>
</tr>
</table>
} <hr /> <div id="pagedPartialView">
@Html.Partial("_courselist", Model)
</div>
<script> $(function () { $("input").addClass("form-control").focus(function () {
$(this).select();
});
$("#contenttypeid").width(); $("#firstdirectoryid").change(function () {
var value = $(this).val();
if (value == "")
$("#seconddirectoryid").val("");
else {
$.getJSON("GetSecondDirectoryByfirstDirectoryid", { id: $(this).val() }, function (data) {
$("#seconddirectoryid option").remove();
$("<option></option>").appendTo("#seconddirectoryid");
$.each(data, function (i, v) {
$("<option value='" + v.id + "'>" + v.title + "</option>").appendTo("#seconddirectoryid");
}); });
}
});
});
function modify(mid, firid, title, sort) {
$("#id").val(mid);
$("#firstdirectoryid").val(firid);
$("#title").val(title);
$("#sort").val(sort);
$(":submit").val("修改");
}
function beginOk() {
if (!confirm("是否要删除?")) {
return false;
}
}
function afterOk(data) {
var arr = data.split(":");
if (arr[] == "ok") {
$("table tr td:contains(" + arr[] + ")").parent().remove();
}
else
alert("无法删除");
}
//function afterOk(data) {
// var arr = data.split(":");
// if (arr[0] == "ok") {
// $("table tr").each(function () {
// if ($(this).data("delid") == arr[1]) {
// $(this).remove();
// }
// });
// }
// else
// alert("无法删除");
//} </script>

分部视图--_courselist.cshtml

@using PagedList.Mvc
@model PagedList.IPagedList<Course.Entity.Courseware> <div id="divlist"> <div class="pagedList">
@Html.PagedListPager(Model, page => Url.Action("SysManageCourse", new { page }), PagedListRenderOptions.Classic)
</div>
@*@Html.PagedListPager(Model, page => Url.Action("SysManageCourse", new { page }),
new PagedListRenderOptions()
{
LinkToFirstPageFormat = "首页",
LinkToNextPageFormat = "下一页",
LinkToPreviousPageFormat = "上一页",
LinkToLastPageFormat = "末页",
DisplayItemSliceAndTotal = true,
ItemSliceAndTotalFormat = "共有{2}页",
MaximumPageNumbersToDisplay =
})*@ <table class="table table-hover table-striped">
<tr>
<th width="" class="text-center">
操作
</th>
<th width="">
序号
</th>
<th width="">
类型
</th> <th>
标题
</th>
</tr> @foreach (var item in Model)
{ <tr>
<td class="text-center" width="">
@Html.ActionLink("编辑", "EditCourse", new { id = item.id }) |
@Html.ActionLink("详细", "DetailsCourse", new { id = item.id }) |
@Ajax.ActionLink("删除", "DeleteCourse", new { id = item.id }, new AjaxOptions() { Confirm = "确定要删除吗?", HttpMethod = "post", OnSuccess = "afterOk" })
</td>
<td width="">@Html.DisplayFor(modelItem => item.sort)</td>
<td width="">
@Html.DisplayFor(modelItem => item.Contenttype.name)
</td>
<td>@Html.DisplayFor(modelItem => item.title)</td>
</tr>
}
</table> </div>
<script>
$(function () {
$("#divlist>.pagedList>.pagination-container li a[href]").click(function () {
var href = $(this).attr("Href");
$.post(href, $("#form0").serialize(), function (data) {
$("#pagedPartialView").html(data);
});
return false;
});
});
</script>

代码中有多余的内容,由于是直接复制过来,自己挑着看,要注意的是在分部视图中对页码的click事件(就是上面绿色的部分,屏蔽点击直接跳转,用异步ajax跳转)一定要写在分部视图中,如果写在主视图中那就惨了,点击页面会直接跳转,根本就不经过JS,原因时ajax分页后返回数据重写了分部视图中的所有元素,前面的JS对后面重写的不起作用,所以一定要写在分部视图中,刚开始我就是把它写在了主视图中,折腾1个小时才明白。$.post提交时把查询块form中的数据传递给了后台。

另外提供两种分页方式:

<div class="pagedList">
@Html.PagedListPager(Model, page => Url.Action("SysManageCourse", new { page }), PagedListRenderOptions.Classic)
</div>
@Html.PagedListPager(Model, page => Url.Action("SysManageCourse", new { page }),
new PagedListRenderOptions()
{
LinkToFirstPageFormat = "首页",
LinkToNextPageFormat = "下一页",
LinkToPreviousPageFormat = "上一页",
LinkToLastPageFormat = "末页",
DisplayItemSliceAndTotal = true,
ItemSliceAndTotalFormat = "共有{2}页",
MaximumPageNumbersToDisplay =
}

asp.netMVC中实现分页方法的更多相关文章

  1. ASP.NET中的ExecuteNonQuery()方法的用法

    下面我将详细讲解在机房收费系统D层中如何对数据库的增加.删除.修改,最后再来总结一下 ExecuteNonQuery(),ExecuteScalar(),ExecuteReader的用法: 一.增.删 ...

  2. 【转载】ASP.NET中Server.MapPath方法获取网站根目录总结

    在ASP.NET网站应用程序中,可以通过Server.MapPath方法来获取跟服务器有关的目录信息,如获取网站的根目录.获取当前代码文件所在的目录路径.获取当前代码所在路径的上级路径等.Server ...

  3. TinyMCE(富文本编辑器)在Asp.Net中的使用方法

    TinyMCE(富文本编辑器)在Asp.Net中的使用方法   转至:http://www.cnblogs.com/freeliver54/archive/2013/02/28/2936506.htm ...

  4. Tinymce在ASP.NET中的使用方法

    现在做网页,用FCKEditor用得比较多,它的实现原理是在要加入FCKEditor的地方加入一个iframe,并将其src指向FCKeditor/editor/fckeditor.html?Inst ...

  5. ASP.NET中刷新分页

    1,第一次全部把数据加载到内存中,然后再做分页,性能差,不推荐. 2,GridView自带分页 3,AspNetPager分页控件  这个是第三分控件需要下载,很好用 4,自己写分页 前三种就不介绍如 ...

  6. 这两天自己模仿写的一个Asp.Net的显示分页方法 附加实体转换和存储过程

    之前自己一直用Aspnetpager控件来显示项目中的分页,但是每次都要拖一个aspnetpager的控件进去,感觉很不舒服,因为现在自己写的webform都不用服务器控件了,所以自己仿照aspnet ...

  7. asp.netMVC中使用aop进行关注点分离

    资源地址:https://stackoverflow.com/questions/23244400/aspect-oriented-programming-in-asp-net-mvc 从页面复制过来 ...

  8. ASP.NET中调用存储过程方法

    两种不同的存储过程调用方法 为了突出新方法的优点,首先介绍一下在.NET中调用存储过程的“官方”方法.另外,本文的所有示例程序均工作于SqlServer数据库上,其它情况类似,以后不再一一说明.本文所 ...

  9. 几种判断asp.net中session过期方法的比较

    方法一:最麻烦也是最容易想到的方法,在每个页面的page_load()方法里面判断: protected void Page_Load(object sender, EventArgs e) { if ...

随机推荐

  1. Go Web 问题集-持续更新

    前端: 导入静态js,css报错,在确保js和css语法编写正确的前提下 GET   错误:          等问题 1.在服务器中运行:静态服务文件路径设置错误 2.本地运行:相对路径设置错误 3 ...

  2. Applied Cloud Deep Semantic Recognition: Advanced Anomaly Detection(应用云深层语义识别:高级异态检测)

    亚马逊链接 引言 (by Mehdi Roopaei & Paul Rad) 异态检测与情境感知 在数据分析领域,异态检测讲的是在一个数据集中,发现到其中不符合预期模式的物体,动作,行为或事件 ...

  3. 通过c#操作word文档的其他方式

    如果不嫌麻烦可以选择MS的word组件,因为过于庞大复杂.一般都是在无法满足要求的情况下才采用此种方式 参考链接:http://blog.csdn.net/lu930124/article/detai ...

  4. mongdb数据迁移导出与导入

    导出: mongoexport --host localhost --port --username un1 --password pwd1 --db db1 --collection col1 -- ...

  5. ES2015学习笔记

    ECMA6学习笔记 参考资料 ECMAScript6入门:http://es6.ruanyifeng.com/ 官方文档:https://babeljs.io/learn-es2015/ 开发软件:W ...

  6. 「知识学习&日常训练」莫队算法(一)(Codeforce Round #340 Div.2 E)

    题意 (CodeForces 617E) 已知一个长度为\(n\)的整数数列\(a[1],a[2],-,a[n]\),给定查询参数\(l,r\),问\([l,r]\)内,有多少连续子段满足异或和等于\ ...

  7. hdu2112HDU Today(floyd+map数组对字符串的应用)

    HDU Today Time Limit: 15000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

  8. 韦大仙--Katalon---一款好用的selenium自动化测试插件

    selenium框架是目前使用较广泛的开源自动化框架,一款好的.基于界面的录制工具对于初学者来说可以快速入门:对于老手来说可以提高开发自动化脚本的效率.我们知道Selenium IDE是一款使用较多的 ...

  9. Java注解的基本原理

    注解的本质就是一个继承了Annotation接口的接口,一个注解准确意义上来说,只不过是一种特殊注释而已,如果没有解析他的代码,他可能连注释都不如. 解析一个类或者方法的注解往往有两种形式,一种是编译 ...

  10. [JSON].value( keyPath )

    语法:[JSON].value( keyPath ) 返回:[String | Null] 说明:获取指定键名路径值的字符串格式 示例: Set jsonObj = toJson("{bod ...