留言簿

我要留言
留言搜索

2014-08-31 11:45  unknown

@section Scripts{@{Html.RegisterMvcPagerScriptResource();}}这个过程在VB.NET下貌似调用不了,请测试,我现在是将js提取出来引用,能否提供VB.NET的调用代码,或者在NuGet发布dll和js分离的包。另外能否将排序之类的封装进去?
回复:您好,这不是MvcPager的问题,而是您VB.net语法错误导致的,在vb.net中,section应该是这样用:
@Section Scripts
...
End Section
我没有用过VB.net,上面的用法是网上找来的,如果您用vb.net,就必须熟悉vb.net的语法。谢谢!

2014-08-31 00:12  张瑞锋

mvc4,路由中配置超过5个参数并且pageindex参数未处于第一位时,分页url会显示?&符号,不是路由配置的友好url
回复:您好,不太明白您的意思,您是如何生成这种url的?谢谢!

2014-08-28 18:03  tommi

您好,杨老师
关于<AjaxForm搜索(post)>
我发现你这个条件搜索第一次加载的时候一定得把分页导航条加载出来,要不然不能调用ajax分页。
这个能改进吗?
回复:您好,这是一个已知的bug,我都记下了,但手头一堆活,一直没时间升级,其实现在解决这个问题的办法也很简单,只需要将AutoHide设为false即可。谢谢!

2014-08-28 13:37  feng

杨老师,您好,
我用Nuget里下载的MvcPager(MVC4.0+,版本2.0.0.1)做分页。由于需要动态排序,即点击列名会变化排序方式。排序信息是放到route里传到Action的。但现在一点击Pager的换页,最新的排序信息会丢失,Action对应参数没有收到值。

列名排序是用Ajax实现的,参考如下
@Ajax.ActionLink(Html.DisplayNameFor(model => model.FullName).ToString(), "Role01Index", new { page = Model.CurrentPageIndex, sortPropertyName = "FullName", sortDirection = "desc" }, new AjaxOptions() { HttpMethod = "GET", InsertionMode = InsertionMode.Replace, UpdateTargetId = "searchlist" })

需要刷新的searchlist是包含Pager的,Pager如下
@Ajax.Pager(Model,"Default",new { sortPropertyName = ViewBag.SortPropertyName, sortDirection = ViewBag.SortDirection }, new PagerOptions
        {
            ...
        }, new MvcAjaxOptions { UpdateTargetId = "searchlist" })

Controller的Action见下
public ActionResult Role01Index(int page = 1, string sortPropertyName = "Name", string sortDirection = "asc")
        {
            ...
        }

右键看Pager里分页按钮,生成的URL正确的,如Role01Index?sortPropertyName=FullName&sortDirection=desc&_=1409203966237&page=2

如果列名排序改用@Html.ActionLink,Pager换页则没问题。
请问这种情况怎么解决?
回复:您好,您点击列名后是通过ajax重新获取数据还是生成新的url来重新获取数据的?如果点排序后生成新的url的话,应该不会有问题,您可以看看这个例子:http://www.webdiyer.com/mvcpager/demo/ajaxsearchget/?author=Webdiyer。谢谢!

2014-08-28 10:47  mvc3

我们公司在好多个项目中有用到你开发的分布控件,但是每次都要来这里下载.因为不想翻旧的项目COPY,所以直接到这里下载快一点,但是我还是想问一下,可以添加Nu Get支持吗,这样一来估计会好一点,而且基本都能用到最近的版本,也能让别人记住这个控件的名称,(因为用Nu Get安装是要名字的)
回复:您好,本来就可以用nuget下载的,您可以nuget库中搜索AspNetPager或MvcPager就能找到,比如MvcPager,可以搜到好几项,只要作者是webdiyer的都是。谢谢!

2014-08-27 10:21  秦学

杨老师你好,我用的MVC4加分页控件,页面数据显示正常,但是点击下一页时总是会全部刷新,而不是Ajax请求,用谷歌浏览器F12看的时候也没有什么脚本找不到等错语,都是看着你官网的demo写的,没办法了,还请杨老师帮忙,代码如下:Index页,@using Webdiyer.WebControls.Mvc
@model Webdiyer.WebControls.Mvc.PagedList<MVCPage.Models.Person>
@{
    ViewBag.Title = "Index";
}
<div id="MVCpager">
   @Html.Partial("_ParIndex", Model)
</div>
@section Scripts{@{Html.RegisterMvcPagerScriptResource();}
<script src="@Url.Content("~/Scripts/jquery-1.8.2.min.js")"></script>
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")"></script>
}
_ParIndex 页: @foreach (var item in Model)
    {
        <tr>
            <td>
                @Html.DisplayFor(modelItem => item.Name)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.Age)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.Sex)
            </td>
            <td>
                @Html.ActionLink("Delete", "Delete", new { id = item.ID })
            </td>
        </tr>
    }
</table>
<div style="float: left; width: 50%">共 @Model.TotalPageCount 页 @Model.TotalItemCount 条记录,当前为第 @Model.CurrentPageIndex 页</div>
</br>
<div style="float: left; width: 30%">
    @Ajax.Pager(Model, new PagerOptions
{
    PageIndexParameterName = "pageIndex",
    ShowPageIndexBox = true,
    PageIndexBoxType = PageIndexBoxType.DropDownList,
    ShowGoButton = false,
}, new MvcAjaxOptions
{
    UpdateTargetId = "MVCpager",
    DataFormId = "searchForm"
}, new { style = "float:right" })
</div>
控制器: public ActionResult Index(int?pageIndex)
        {
            pageIndex = pageIndex ?? 1;
            int pageSize =3;
            DemoDBEntities db = new DemoDBEntities();
            IQueryable<Person> temp = db.Person.Where(c =>true).OrderBy(c=>c.ID);
            PagedList<Person> pageList = temp.AsQueryable<Person>().ToPagedList<Person>(pageIndex.Value,pageSize);
            if (Request.IsAjaxRequest())
            {
                return
回复:您好,在这里发的代码没办法调试,您有可以看到实际运行效果的网址吗?或者有简单的例子发我webdiyer的gmail邮箱我看下。谢谢!

2014-08-26 11:19  中国人的悲哀

您好杨老师,我用你的MVC分页控件,AJAX分页,但是还是一直刷新页面,怎么办?
<body>
   
    @*<input type="button" value="tree" onclick="initCompletes()" />*@
    <div>
        @Html.ActionLink("新建模块", "Create")
        <br />
        <ul id="DepTree" class="ztree"></ul>
        <div id="treeLoding"></div>
        <input type="button" value="查看选择项" onclick="getSelectTreeValue()" />
    </div>
    <input id="Checkbox1" type="checkbox" value="ddd" />
    <div id="aaaaaaaaaaaaa">
        @Html.Partial("_SYS_Module", Model)
    </div>
    @section Scripts{
        @{Html.RegisterMvcPagerScriptResource();}
    @RenderSection("Scripts", true)
    }
</body>

  public ActionResult Index(int id = 1)
        {
            int iCuCount = 8;
            int iallCount = 1;
            var mySYSDD = from s in db.SYS_Module
                          select s;
            iallCount = mySYSDD.Count();
            #region 分页文字
            //共有条数
            ViewBag.AllCount = iallCount;
            //当前页
            ViewBag.CuPager = id;
            //共多少页
            ViewBag.AllPager = iallCount / iCuCount;
            #endregion
            //return View(mySYSDD.OrderBy(s => s.ModuleId).OrderBy(s => s.ModifiedOn).ToPagedList(id, iCuCount));

            if (Request.IsAjaxRequest())
                return PartialView("_SYS_Module", mySYSDD.OrderBy(s => s.ModuleId).OrderBy(s => s.ModifiedOn).ToPagedList(id, iCuCount));
            return View(mySYSDD.OrderBy(s => s.ModuleId).OrderBy(s => s.ModifiedOn).ToPagedList(id, iCuCount));
         
        }


@using Webdiyer.WebControls.Mvc
@model PagedList<CRMGeeduModels.Models.SYS_Module>
    <table class="tableStyle">
        <tr>
            <th>
                @Html.DisplayNameFor(model => model.ModuleCode)
            </th>
            <th>
                @Html.DisplayNameFor(model => model.ModuleName)
            </th>
            <th>
                @Html.DisplayNameFor(model => model.ModuleInfo)
            </
回复:您好,出现这种问题最可能原因是页面上有脚本错误,比如语法错误或者脚本文件路径不正确等等,您需要用浏览器开发者工具调试并查找原因,上面的代码中看不出问题。谢谢!

2014-08-24 16:18  没什么

杨老师,我用了您做的AspNetPager分页控件,在iphone设备上点击下一页上一页没有反应?我猜想是不是iphone设备的安全性问题啊,查了些资料说iphone上有些js也没有效果的?杨老师能帮忙分析一下吗,要怎么解决它?
回复:您好,如果js有限制的话建议您用url分页方式更好一些,我没有iphone,但用电脑版的safari好象没见过这种问题。谢谢!

2014-08-23 16:46   mvc开发

杨老师,我是上一个提问的那个人。。。
后来找到问题了,版本的问题,现在已经解决了,谢谢
回复:解决了就好,谢谢支持!

2014-08-23 16:41  John

mvc分页 超出索引后 会返回最后一页的数据 怎么才能超出索引后 返回空呢? 我做的是 无限滚动 。
回复:您好,这个不是MVCPager的功能,返回什么数据完全由您自己决定,谢谢!
;