MVC3.0 ajax无刷新分页

jyj987817 2014-08-19 03:53:33
controller
 
model.LogList = dtos.Select(obj => new BuyLogModel()
{
BuyDate = obj.BuyDate,
BuyID = obj.BuyID,
BuyNum = obj.BuyNum,
ChildItemID = obj.ChildItemID,
Color = obj.Color,
Price = obj.Price,
SpecTitle = obj.SpecTitle,
SpecValue = obj.SpecValue,
UserID = obj.UserID,
UserName = string.Empty
}).OrderByDescending(t=>t.BuyDate).ToPagedList(index??1,15);

if (Request.IsAjaxRequest())
return PartialView("UCSellLogList",model.LogList);



model

public class DetailModel
{
public Guid ID { get; set; }
public string Img { get; set; }
public string Title { get; set; }
public string Summary { get; set; }
public string Desc { get; set; }
public int RestDay { get; set; }
public decimal TotalPrice { get; set; }
public int Percentage { get; set; }
public string ShopUrl { get; set; }
public int? AppearanceStore { get; set; }
public int? FunctionStore { get; set; }
public int? PriceStore { get; set; }
public int? TotalStore { get; set; }
public string ReviewDesc { get; set; }
public DateTime? EndDate { get; set; }
public List<UserModel> UserList { get; set; }
public PagedList<BuyLogModel> LogList { get; set; }
public PagedList<ReviewListModel> ReviewList { get; set; }

public List<KeyValue<string,Specs>> SpecsArray { get; set; }
public List<ChildItemDTO> Items { get; set; }
}

public class BuyLogModel
{
public Guid? UserID { get; set; }

public string UserName { get; set; }

public Guid? ChildItemID { get; set; }

public int? BuyNum { get; set; }

public decimal? Price { get; set; }

public Guid BuyID { get; set; }

public DateTime? BuyDate { get; set; }

public string SpecTitle { get; set; }

public string SpecValue { get; set; }

public string Color { get; set; }

}



PartialView

@model PagedList<YCZ.Sites.Models.BuyLogModel>

<dl class="del_cjjl">
<dt class="com_of">
<span>购买者</span>
<span>数量</span>
<span>价格</span>
<span>购买日期</span>
<span class="last">规格/颜色</span>
</dt>

@foreach (var item in Model)
{
<dd class="com_of">
<span>@item.UserName</span>
<span class="num">@item.BuyNum</span>
<span class="num colorf40">@item.Price</span>
<span class="date">
@if (item.BuyDate.HasValue)
{
<label>@item.BuyDate.Value.ToString("yyyy-MM-dd")</label>
}
</span>
<span class="last">
<label>@item.SpecValue</label>/ @if (item.Color != null)
{<label>@item.Color</label>}
else
{<label>无</label>}</span>
</dd>
}
</dl>


view

<div id="dlBuyLogs">
@{Html.RenderPartial("UCSellLogList", Model.LogList);}
@Ajax.Pager(Model.LogList,
new PagerOptions { PageIndexParameterName = "index", ShowPageIndexBox = true, PageIndexBoxType = PageIndexBoxType.DropDownList,ShowGoButton = false},
new MvcAjaxOptions{UpdateTargetId="dlBuyLogs",EnablePartialLoading = true},null)
</div>



以上是代码,问题是 分页正常 数据正常 但还是会刷新,找高手帮忙看下哪里有问题?
...全文
600 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
q275513716 2015-06-25
  • 打赏
  • 举报
回复
引用 15 楼 webdiyer 的回复:
你修改MvcPager.js文件干什么?你确定不是你修改这个文件改出的问题吗?
求刷新问题解决方法,直接点的
q275513716 2015-06-25
  • 打赏
  • 举报
回复
lz说的是无刷新问题,你们怎么跑题了呢,我也纠结在无刷新上,怎么写都刷新url
墙角的灰 2014-08-21
  • 打赏
  • 举报
回复
Ajax分页失败多数原因都是页面上脚本错误导致的,请用浏览器开发者工具调试看看是否有脚本错误
jyj987817 2014-08-20
  • 打赏
  • 举报
回复
引用 13 楼 webdiyer 的回复:
Ajax分页失败多数原因都是页面上脚本错误导致的,请用浏览器开发者工具调试看看是否有脚本错误
这个原因 在你们官网看到过 也调试了没有发现有脚本错误! 杨老师 帮忙看下呗
webdiyer 2014-08-20
  • 打赏
  • 举报
回复
Ajax分页失败多数原因都是页面上脚本错误导致的,请用浏览器开发者工具调试看看是否有脚本错误
webdiyer 2014-08-20
  • 打赏
  • 举报
回复
你修改MvcPager.js文件干什么?你确定不是你修改这个文件改出的问题吗?
jyj987817 2014-08-19
  • 打赏
  • 举报
回复
引用 11 楼 slyzly 的回复:
我的项目中使用 <div style="width: 539px; margin: 0 auto"> @Ajax.Pager(Model, new PagerOptions { PageIndexParameterName = "pageIndex", ShowPageIndexBox = true, AutoHide = false, PageIndexBoxType = PageIndexBoxType.TextBox, NumericPagerItemCount = 8, CssClass = "diggpager", PagerItemsSeperator = "", CurrentPagerItemWrapperFormatString = "<span class=\"current\">{0}</span>" }, new MvcAjaxOptions() { UpdateTargetId = "divID", HttpMethod = "Post", DataFormId = "searchForm" }) </div> <script src="@Url.Content("~/Scripts/jquery.min.js")" type="text/javascript"></script> <script src="@Url.Content("~/Scripts/MvcPager.js")" type="text/javascript"></script> 还有官网提供的示例@section Scripts{@{Html.RegisterMvcPagerScriptResource();}}在项目中好像不起作用 这个是我修改过的JS文件,你手动引用到项目中看下行不行 http://files.cnblogs.com/slyzly/MvcPager.js
引用了 这个JS 翻页都翻不了
事理 2014-08-19
  • 打赏
  • 举报
回复
我的项目中使用 <div style="width: 539px; margin: 0 auto"> @Ajax.Pager(Model, new PagerOptions { PageIndexParameterName = "pageIndex", ShowPageIndexBox = true, AutoHide = false, PageIndexBoxType = PageIndexBoxType.TextBox, NumericPagerItemCount = 8, CssClass = "diggpager", PagerItemsSeperator = "", CurrentPagerItemWrapperFormatString = "<span class=\"current\">{0}</span>" }, new MvcAjaxOptions() { UpdateTargetId = "divID", HttpMethod = "Post", DataFormId = "searchForm" }) </div> <script src="@Url.Content("~/Scripts/jquery.min.js")" type="text/javascript"></script> <script src="@Url.Content("~/Scripts/MvcPager.js")" type="text/javascript"></script> 还有官网提供的示例@section Scripts{@{Html.RegisterMvcPagerScriptResource();}}在项目中好像不起作用 这个是我修改过的JS文件,你手动引用到项目中看下行不行 http://files.cnblogs.com/slyzly/MvcPager.js
事理 2014-08-19
  • 打赏
  • 举报
回复
将 @{Html.RenderPartial("UCSellLogList", Model.LogList);} @Ajax.Pager(Model.LogList, new PagerOptions { PageIndexParameterName = "index", ShowPageIndexBox = true, PageIndexBoxType = PageIndexBoxType.DropDownList,ShowGoButton = false}, new MvcAjaxOptions{UpdateTargetId="dlBuyLogs",EnablePartialLoading = true},null)放到部分页里面去
白云任去留 2014-08-19
  • 打赏
  • 举报
回复
引用 8 楼 jyj987817 的回复:
[quote=引用 7 楼 fangxuan 的回复:] 代码位置有误,@Ajax.Pager貌似都是放在partial页的,参考以下示例源码部分: 参考
那示例源码 看过,也那样子做过 把@Ajax.pager放在分布视图里面 结果是一样的 还是会刷新 [/quote] 根据源码仔细对照吧,只是数据换了,总归是哪里有不一样,或者直接拿源码过来改!
jyj987817 2014-08-19
  • 打赏
  • 举报
回复
引用 7 楼 fangxuan 的回复:
代码位置有误,@Ajax.Pager貌似都是放在partial页的,参考以下示例源码部分: 参考
那示例源码 看过,也那样子做过 把@Ajax.pager放在分布视图里面 结果是一样的 还是会刷新
白云任去留 2014-08-19
  • 打赏
  • 举报
回复
代码位置有误,@Ajax.Pager貌似都是放在partial页的,参考以下示例源码部分: 参考
jyj987817 2014-08-19
  • 打赏
  • 举报
回复
引用 5 楼 xiexiner 的回复:
是不是浏览器限制了 用兼容模式 试试
应该不是 我调试过 问题好像是 不是ajax提交
if (Request.IsAjaxRequest())
                return PartialView("UCSellLogList",model.LogList);
这里一直都没执行
xiexiner 2014-08-19
  • 打赏
  • 举报
回复
是不是浏览器限制了 用兼容模式 试试
xiexiner 2014-08-19
  • 打赏
  • 举报
回复
路过 支持给点分吧!
jyj987817 2014-08-19
  • 打赏
  • 举报
回复
引用 2 楼 fangxuan 的回复:
缺少相关js文件引用!
有引用,我没有贴那段代码而已

<script src="/Scripts/jquery-1.8.2.min.js"></script>  //这个在模板页引用的
<script src="@Url.Content("/Scripts/jquery.unobtrusive-ajax.min.js")"></script>  //这个在view页面引用的
白云任去留 2014-08-19
  • 打赏
  • 举报
回复
缺少相关js文件引用!
jyj987817 2014-08-19
  • 打赏
  • 举报
回复
在网上看了好多 都是这样写的 都没问题 这边就有问题 每次翻页 都刷新url

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧