留言簿
留言成功,请等待站长审核,谢谢支持!
2015-11-27 12:44 倪磊
不好意思,杨老师,问题问的不清楚。我把mvcpager放在局部视图中,Model的类型怎么设置?比如我有如下的数据模型 public interface IEntity { } public partial class Course : IEntity { //属性 } public partial class Teacher : IEntity { //属性 } _Pagination.cshtml mvcpager部分视图如下: @model PagedList<IEMS.Models.IEntity> <div class="row"> <div class="col-md-12"> <div class="pull-left margin-top-10">共 @Model.TotalPageCount 页 @Model.TotalItemCount 条记录,当前为第 @Model.CurrentPageIndex 页</div> <div class="pull-right"> @Html.Pager(Model, new PagerOptions { PageIndexParameterName = "pageindex", FirstPageRouteName = "Org_Default", RouteName = "Paging", FirstPageText="首页", LastPageText="尾页", PrevPageText = "上一页", NextPageText = "下一页", ContainerTagName = "ul", CssClass = "pagination", CurrentPagerItemTemplate = "<li class=\"active\"><a href=\"#\">{0}</a></li>", DisabledPagerItemTemplate = "<li class=\"disabled\"><a>{0}</a></li>", PagerItemTemplate = "<li>{0}</li>", Id = "pagination" }) </div> </div> </div> course 列表页如下: @model PagedList<IEMS.Models.Course> 内容略 @Html.Partial("_Pagination", Model); 这里加载分页局部视图时报类型无法转换的错误,如下: 传入字典的模型项的类型为“Webdiyer.WebControls.Mvc.PagedList`1[IEMS.Models.Course]”,但此字典需要类型“Webdiyer.WebControls.Mvc.PagedList`1[IEMS.Models.IEntity]”的模型项。 也就是说我想要通过Model继承的方式达到公用分页局部视图,但是好像不行。当然这不是mvcpager的什么问题或bug,我这里只是求一个方案。
回复:公用那确实会有问题,不过您可以试试dynamic,但这样也就没有强类型Model那样的VS智能感知及编译时错误检查等功能了,错误只有运行时才能发现。谢谢!
2015-11-27 10:16 小何
改成参数名不一样了,还是不行,真的很奇怪,分页链接明明有那个cid的参数,通过url链接打开这个分页链接cid的值是没问题的,就是ajax分页碰见这奇怪的问题,cid的值好像在跳转的那一刻变成了0,找不到原因
回复:您好,这样的问题不调试是无法说清楚的,您需要学会使用浏览器开发者工具(F12)。谢谢!
2015-11-26 17:25 小何
杨老师,您好,请问我的问题是什么原因呢?
回复:已回复,谢谢!
2015-11-26 14:59 倪磊
杨老师你好,mvcpager如何放到局部视图里,然后通过Html.Partial引入到页面? 这样调整样式或者修改配置时就不用挨个页面去调了。
回复:您好,您现在放MvcPager放在局部视图中调用有什么问题吗?谢谢!
2015-11-25 21:26 小陈
杨老师你好,我做了一个手机站,在苹果系统的微信打开AspNetPager点页一页没反应,安卓是没有问题的,请问这是什么原因?
回复:您好,这个问题可能是苹果浏览器对ASP.NET的回发机制支持不太好的原因,您可以改为url分页就不会有这样的问题了。谢谢!
2015-11-25 09:34 小何
杨老师,您好!生成的分页链接里面有参数page和cid,如下: http://localhost:42558/1111/blog/_articleajaxpagelist?cid=2&page=2 但是一进入到_articleajaxpagelist这个action的时候,cid却为0, action 定义如下 public ActionResult _ArticleAjaxPageList(int cid = 0, int page = 1) { var query = new ArticleModel { AccountId = UserSession.LoginUserInfo.Account, CategoryID = cid }; var list = ServerConfig.ArticleService.GetAll(query).ToPagedList(page, _pageSize); ViewBag.cid = cid; if (Request.IsAjaxRequest()) { return PartialView("_ArticleAjaxPageList", list); } return View(list); } 请问这是什么原因
回复:应该是ViewBag的cid和url参数中的cid重复导致的,请把ViewBag的cid换为不同的属性名试试。谢谢!
2015-11-24 19:07 sun
杨老师您好,我用您的控件做了个例子,分以后,查询的数据有删除的功能,在第一次打开页面的时候,删除按钮是好用的,可以删除数据, 再点击下一页后, 删除的动作就不再执行我用js写的代码了,麻烦百忙之中帮忙看下问题。 <a href="@Url.Action("delete", "list", new { item.YHQFFD.ID })" class="operaLink"> $('.delete').on('click', function (e) { var $this = $(this); $.SmartMessageBox({ title: "删除!", content: "您确认要删除该信息吗?", buttons: '[否][是]' }, function (ButtonPressed) { if (ButtonPressed === "是") { $.ajax({ url: $this.attr('href'), type: 'POST', success: function (ret) { if (ret.Status === 0) { $this.closest('tr').remove(); Shopr.BigBox.Success(ret.Data); } else { Shopr.BigBox.Error(ret.Data); } } }); } }); e.preventDefault(); });
回复:您好,出现这个问题的原因很简单,Ajax分页后事件绑定失效,当然就不会再执行了,如果要在Ajax分页后仍然能使事件绑定有效,需要用类似于这样的方法:
$( "#dataTable tbody" ).on( "click", "tr", function() {
console.log( $( this ).text() );
});。具体请参考jQuery文档。谢谢!
2015-11-23 18:02 Max
杨老师辛苦了! 最近使用分页控件,遇到一个问题,不知道其他人有没有遇到这样的问题,就是一个页面中有多个Ajax局部刷新,每个页面都有分页,只点一个页面的时候跳转就正确,但是在点其他页面的分页就会跳转到第一个页面,写了controller和action,但是请求的还是第一次像后台请求的action,不知道是不是使用方式有问题,希望杨老师有时间帮忙解答、指正。
回复:您好,示例中就有多个AajxPager分页的例子,而且有详细的用法说明。请参考一下。谢谢!
2015-11-23 14:22 小何
杨老师,你好!分页链接里面明明有参数page和另一个参数,但是进入controller里面却只有page参数,另一个参数为空,请问这是什么原因
回复:您是如何确认只有page一个参数的?请用浏览器开发者工具或http捕获工具(如Fiddler)进行调试检查。谢谢!
2015-11-23 10:50 132
data-urlformat 后面怎么传入多个参数?
回复:您好,很抱歉,不太明白您的意思。