留言簿

我要留言
留言搜索

2014-04-17 18:17  dgx

使用Ajax.BeginForm,Get提交方式
问题:第一次点击下一页会刷新页面,之后就不会了,不知道是什么问题啊?
主要代码:@using (Ajax.BeginForm("Index", new RouteValueDictionary { { "id", "" } }, new AjaxOptions { UpdateTargetId = "articles",HttpMethod = "Get",InsertionMode = InsertionMode.Replace }, new RouteValueDictionary { { "id", "searchForm" } }))

<div id="articles">
    @Html.Partial("_IndexListNew", Model)
</div>

@Ajax.Pager(Model, new PagerOptions { PageIndexParameterName = "id",ShowGoButton = false }, new MvcAjaxOptions { UpdateTargetId = "articles", DataFormId = "searchForm" })
回复:您好,从代码中看不出什么问题,您需要用浏览器开发者工具等检查看页面上是否有脚本错误导致Ajax提交失败,另外请对照示例检查您的页面代码:http://www.webdiyer.com/mvcpager/demo/ajaxsearchget/。谢谢!

2014-04-17 17:02  马欢

每次点击分页,会有多次请求,然后就把页面卡死了。
@using Webdiyer.WebControls.Mvc
@model   PagedList<Model.ListModel>
@if (Model != null)
{
    <div id="listbox">
        <div class="news_boxlist">
            @foreach (var item in Model)
            {
                <span><img src="@item.Href" /></span>
            }
        </div>

        @Ajax.Pager(Model, new PagerOptions { PageIndexParameterName = "id", CurrentPagerItemWrapperFormatString = "<a  class=\"xuanz\">{0}</a>" }, new MvcAjaxOptions { UpdateTargetId = "listbox", HttpMethod = "Post" }, new { @class = "mews_fenye" })

    </div>
            Html.RegisterMvcPagerScriptResource();

}
比如点击第3页,
就会有数十个第3页的请求产生,
是我哪里用错了吗?求解。。
回复:您好,这应该是您的脚本有问题导致的,比如反复使用Html.RegisterMvcPagerScriptResource()注册MvcPager客户端脚本,或者手工多次调用MvcPager的jQuery插件,导致分页事件被绑定多次,请检查。谢谢!

2014-04-16 19:22  james

你好,有个问题,假如我使用的不是EntityFrameWork,如何使用分页?

如下代码:
 var domainPatients = AdminBusiness.GetLogSearchResult(para);

            if (domainPatients != null)
            {
                foreach (var item in domainPatients)
                {
                    list.Add(new LogModel
                    {
                        ActionNo = item.ActionNo,
                        ActionType = item.ActionType,
                        Operator = item.Operator,
                        Patients = GetPatients(item.LogPatients)
                    });
                }
            }
            var model = list.ToPagedList<LogModel>(id, 20);
            if (Request.IsAjaxRequest())
                return PartialView("_LogData", model);
            return View(model);

 list.ToPagedList<LogModel>(id, 20)这个只是从所有检索中的数据再做第二次分页,相当是内存分页?如何真正做到数据库分页?请指教,谢谢,我邮箱jacklau88@163.com
回复:您好,MvcPager和Entity Framework没有任何关系,示例中就有很多不使用EF的例子,如果不使用ToPagedList扩展方法,您可以自己使用PagedList构造函数,或者使用实现IPagedList接口的对象,甚至PagedList和IPagedList都可以不用,只需要获取要分页的总记录数和当前页数据,即可用Html.Pager或Ajax.Pager扩展方法的前两个重载实现分页,请参考帮助示例。谢谢!

2014-04-15 16:35  李刚

您好,杨老师,我想问一下,我的程序分页后,回到第一页时不是初打开时的链接,而是带有1的链接。我想让它,回到第一页时,是初打开的链接而不是第一页,这个问题应该怎么解决?希望您帮忙解决这个问题。另外,一直希望您能把企业版开发出来,我们购买后,你能帮助解决一些问题,这样我们省心,你也能多些收入,不是嘛?
回复:您好,不知道您用哪个分页控件?如果是AspNetPager,需要设置FirstPageUrlRewritePattern属性来定义首页的默认url,如果是MvcPager,需要设置PagerOptions.FirstPageRouteName来定义首页默认使用的路由,具体请参考帮助中的说明和示例。您说的企业版我不太清楚需要什么功能,是提供技术支持吗?谢谢!

2014-04-15 14:47  黄志伟

杨老师,你好:
      我在使用WebForm下的aspnetpager控件时,有个场景是这样的,先搜索出产品列表,某个产品点击修改,跳到修改界面,保存时想恢复到搜索列表,我使用的是这样一句:this.AspNetPager1.CurrentPageIndex=....,但这时页码始终是显示1,而当前页码是回传了的,请问如何解决??
回复:您好,CurrentPageIndex只适用于默认的PostBack分页方式,如果您用了url分页,那么设置这个参数是不起作用的。谢谢!

2014-04-15 14:16  RockBear

谢谢你的回复。
一个页面能同时使用两个MvcPager,我是照demo上面的例子写的,但是发出的请求都是GET的。我现在就卡在一个页面同时用两个Post带参数的分页。
回复:如果您指定了使用post方法分页但分页仍然是通过get提交的,那么很可能是页面上有脚本错误导致MvcPager的jQuery插件不能正常运行,Ajax分页失败并降级到了普通url路由分页,您需要用浏览器开发者工具来调试排查原因,请注意无论用多少个MvcPager,RegisterMvcPagerScriptResource方法都只能用调用一次,否则会导致插件被重复注册而出现脚本错误。谢谢!

2014-04-15 13:48  linhl

您好!我看了 Net4.5Demo 这个工程,没有用到areas?您说有可能是路由配错了,那正确的格式应该是什么样的呢?谢谢!
回复:您好,是的,示例项目中没有Area,是本站的示例项目在Area中,没有所谓的路由正确格式,路由安全是您自己配置的,您需要检查生成的html代码中form的action是否正确,另外用浏览器开发者工具检查是否用脚本错误,MvcPager和是否在Area中使用没有关系。谢谢!

2014-04-15 11:00  RockBear

请问如何在一个页面上使用两个AjaxForm,并分页。
回复:您好,这个还没有测试过,应该没什么问题,不过要注意两个MvcPager使用不同的PageIndexParameterName参数,您现在能正常分页吗?有什么错误吗?谢谢!

2014-04-15 09:43  linhl

杨老师,您好!
     我在areas里面用Ajax分页,点翻页可以局部刷新,但是点查询按钮,Request.IsAjaxRequest()始终是false,然后全页刷新。不在areas里用都是正常的,是我哪里没写对吗?
回复:您好,从您的描述无法知道问题的具体原因,本站的MvcPager示例就是在Area中,没有您说的问题,您需要仔细检查一下查询提交的路由配置,以及页面上是否有脚本错误,可以用浏览器开发者工具进行调试来找出问题代码。谢谢!

2014-04-13 11:33  石利

老师您好,我想问我在用MVCpager分页时,当提交的Form中有名称id的input,value为我想要的页码时,列表数据输出正常,但在点其它页码就无效了,为什么呢?
回复:您好,我不太明白您的意思,如果您要输入或选择页索引,MvcPager本身就带有这样的功能,无需自己添加input输入框,请参考示例中“输入或选择页索引”的例子。谢谢!
;