留言簿

我要留言
留言搜索

2020-01-02 01:39  Yu

杨老师您好!
求一份MvcPager 2.0源码(yyf20150901@163.com)
非常感谢!
回复:抱歉,找不到了,2.0版没有上传到github,时间太久,换了笔记本,以前的备份找不到了,找到的都是3.0版的,不知道您要这么老的源代码干什么?谢谢!

2019-12-04 13:57  JackeyLove

杨老师您好,我在使用MVCPager3.0版本 Ajax多分页的时候遇到一个问题。在多分页时浏览器Url会显示每个分页的index,如下:
http://localhost:61814/#id=2&pageindex=3
但是当刷新数据的时候这个url没有清空,刷新数据之后再点击id=2的选项卡或者pageindex=3的选项卡的时候就会没反应,
请问在js里有清空mvcpager选项页码的接口么?或者怎么初始化设置才能避免这个问题呢?
谢谢。
回复:您好,这不是清空js的问题,这是MvcPager的Ajax模式下初始化数据功能,看这个例子。刷新之后如果参数还在,那么当前页就是参数对应的页面,在您的例子中当前页面就是3,所以无法点击,如果您需要返回第一页,则必须清除掉该参数。谢谢!

2019-12-03 11:07  SDF

老师您好:HtmlPager.cs出现警告。

F:\MvcSD\MvcPager\HtmlPager.cs(47,37,47,41): warning CS1573: 参数“html”在“Webdiyer.WebControls.Mvc.HtmlPager.HtmlPager(System.Web.Mvc.HtmlHelper, Webdiyer.WebControls.Mvc.IPagedList)”的 XML 注释中没有匹配的 param 标记(但其他参数有)

这个怎么解决,谢谢!
回复:您好,您是自己编译出现这个问题的吗?这个是源代码中的注释问题,和运行没有任何关系,可以不用理会。谢谢!

2019-12-02 15:37  JackeyLove

杨老师您好,我在使用mvc分页的时候发现一个问题。
我在布局页面引用了一个js文件,里面使用jQuery的符号$去定义了一个方法,第一次加载子页面时这个方法可以调用的,但是一旦点击页码(比如说点击第二页),整个子页面重新渲染之后,我自定义的js中的方法就失效了。
请问怎么在分页子页面支持布局页的js引用呢?
回复:您好,这个问题应该和用$符号定义方法没有关系,如果您的方法是绑定到DOM元素上的,分页的分页视图页面通过Ajax加载后,除非用jQuery的on方法,否则新页面中的DOM元素就不会被绑定,所以看起来象是您的方法失效了,您可以看一下MvcPager脚本插件源代码中页索引元素click事件的绑定方法,谢谢!

2019-11-14 15:28  投入巨额

老师您好,请问:
我的MVC项目在views里右键浏览器查看任何一个页面都能正常访问到预设控制器(/account/login),但重装系统后右键任意页面都会显示http://localhost:37632/account/login/Views/任意文件/任意页面.cshtml
路由似乎不起作用了,找不到原因,你能帮我分析下原因吗?
谢谢!
回复:您好,没有见过这样的问题,感觉您的VS没有安装相应的ASP.NET MVC开发组件,请您在VS的添加/删除组件中进行确认。谢谢!

2019-11-14 13:21  沈先生

杨老师 用了你的 MvcPager进行局部刷新分页,可是我在局部分页添加的a 标签 点了没有任何反应
主页面
@using (Ajax.BeginForm("Business", null, new AjaxOptions
{
    UpdateTargetId = "MVCpager",
    HttpMethod = "Get"
}, new Dictionary<string, object> {
    { "id", "searchForm" },{ "class","well well-sm"}
}))
{
    <div class="form-inline" style="text-align:center;">
        <span>企业名称:</span><input type="text" name="unitName" id="unitName" class="form-control" />
        <input type="submit" value="搜索(S)" accesskey="S" class="btn btn-default" />
    </div>
}

<div id="MVCpager">
    @Html.Partial("_JifenList", Model)
</div>
@{Html.RegisterMvcPagerScriptResource();}
局部页面 
<ul class="nav navbar-nav">
    @{foreach (var item in Model)
        {
            <li class="col-xs-4" style="text-align:center;">
                <a href="http://www.baidu.com"><img src="~/Images/projects/@item.ImgPath" style="width:95%" /></a>
                <h3>
                    @Html.ActionLink(item.UnitName, "Index", "Home")
                </h3>
                <p>@item.UnitMsg</p>
            </li>
        }}
</ul>
<div class="col-xs-12" style="margin-bottom:20px;">
    @Ajax.Pager(Model, new PagerOptions{
    PageIndexParameterName = "PageIndex",    
    CurrentPagerItemTemplate = "<span class=\"spanx\" >{0}</span>",
    NumericPagerItemTemplate = "<span class=\"spanx\" >{0}</span>",
    HorizontalAlign = "Center",
    FirstPageText = "<span class=\"spanx\" >首页</span>",
    LastPageText = "<span class=\"spanx\" >尾页</span>",
    NextPageText = "<span class=\"spanx\" >下一页</span>",
    PrevPageText = "<span class=\"spanx\" >上一页</span>"
}, new MvcAjaxOptions { UpdateTargetId = "MVCpager", DataFormId = "searchForm", HttpMethod = "Get" })
回复:您好,出现这样的问题很可能是两个原因:1、没有引入jQuery脚本库和MvcPager脚本插件,或者引用路径错误;2、页面上有其它脚本错误,导致Ajax请求失败;请用浏览器开发者工具调试检查。网站后台有点问题,最新留言没显示出来,今天才看见,回复迟了请原谅!谢谢!

2019-10-12 10:52  sam

交流一个小问题:
因为我的数据比较大。差不多有两千万条路径。如果用存储过程分页效果不是很好。打开差不多要3到4秒。我现在想是一次性把数据用list缓存到redis.在每次打开直接读取redis,用你这个分页控件分页展现。但是发布就算是用了缓存,用你控件进行分页。发现速度并没有快。和当时在数据库查询分页的速度差不多。不知你有没有想过这方法优化。看缓存分页怎么样能更快展现出来。
回复:您好,这是数据获取问题,和分页控件本身是没有直接关系的,我不知道您把数据缓存后是如何分页的,用的是哪个分页控件?无论是MvcPager还是AspNetPager,您都可以使用自己的数据获取逻辑,谢谢!

2019-10-11 17:33  陈

老师你好:
mvcpager这个分页方式中
var model = db.Articles.OrderByDescending(a => a.PubDate).ToPagedList(id, 5);

这个ToPagedList是不是取数据库的数据就是直接取出1-5条?
还是先要取出全部数据,再用这个取出1-5条数据
回复:您好,这取决于您的数据提供程序,如果您用EF和sql server,那么分页是在数据库端实现的,也就是只取出5条数据,谢谢!

2019-10-05 16:57  jacky

杨老师,我现在把项目升级为.net core 3.0,在
.net core 3.0中使用Html.Pager时输出html内容被截断,查看服务器日志显示“
Synchronous operations are disallowed. Call WriteAsync or set AllowSynchronousIO to true instead.”,
我在您的github也提交了该问题 https://github.com/Webdiyer/MvcCorePager/issues/4。
回复:您好,谢谢您的反馈,是Html.Pager方法存在这个问题还是taghelper也有相同的问题?最近还在忙.net framework的项目,没功夫研究.net core,所以没有注意到您说的问题,我会抽空测试更新一下,当然如果您也可以提交PR。谢谢!

2019-09-18 15:45  ak

我参考“查询结果url”分页的代码写了一个查询列表页,没有查询条件或者第一次输入查询条件的时候都可以正常得到结果,当我变更输入条件的时候,点击查询按钮发现查询条件又变成的第一次输入的值,比如我第一次输入标题关键词“文峰”,得到正确结果,我把文峰二字换成“人民”二字,点击查询按钮后发现关键词还是“文峰”二字,结果也还是第一次查询出的结果。这是怎么回事?文本框的viewstate和页面的viewstate都关掉也是这样。
下面是我查询按钮事件代码
protected void btnfind_Click(object sender, EventArgs e)
    {
        _title=tit.Text.Trim();
        _classid=ddlclassid.SelectedValue;
        _t1=ksrq.Text.Trim();
        _t2=jsrq.Text.Trim();

        string newurl = "news_list.aspx?tit=" + _title + "&cid=" + _classid + "&t1=" +  _t1 + "&t2=" +  _t2;
        Response.Redirect(newurl);
        Response.End();
    }
回复:您好,这应该是您查询条件传递的问题,您可以断点调试检查一下上面代码中生成的url是什么,另外如果用url分页查询的话,没必要用服务器端form,用普通form通过get方式提交就可以了。谢谢!
;