留言簿

我要留言
留言搜索

2017-08-31 15:13  读者乙

杨老师你好,请问MVC Pager 3能否在加载/搜索第一页时缓存“总记录数”?然后点击其它页码就把缓存的“总记录数”送回后台,这样就不需要每翻一页就重新统计一次了。如果可以实现,应该怎么做呢?
回复:您好,当然可以缓存,这完全由您自己控制,和MvcPager没有任何关系,不过如果自己使用缓存的话,就不适合用ToPagedList扩展方法来获取数据,因为这个方法还会统计记录总数,您可以用自己的方法只获取当前页数据就可以了。谢谢!

2017-08-30 15:37  ET

this.allowCache = wrapper.data("ajax-allowcache") || true;

这句代码导致了我无论设置是否使用缓存,底层代码永远都为true,这是刻意为之还是bug?
回复:您好,缓存可以通过MvcAjaxOptions的AllowCache来控制,请参考帮助文档。谢谢!

2017-08-19 16:56  NC

数据层分页只能用存储过程吗?现在数据量是100W,用控制器慢到吐血,每次都要把100W拿出来才能分页
回复:您好,分页控件和数据源没有任何直接关系,您想用什么方法取数据都可以,示例中就有各种获取数据进行分页的方法,不需要把100W数据全部取出来再进行分页。谢谢!

2017-08-17 10:17  李翀

您好,我是参照 AjaxForm搜索(Post) 示例来操作的,现在ajax好像失效了,分页可以但是是刷新页面,搜索点击没有反应,请问我是哪里没有引用好,还是其他地方有误~?
@using Webdiyer.WebControls.Mvc;
@model PagedList<obj.Model.TServiceCredit>
@{Html.RegisterMvcPagerScriptResource();} 
<h2>List</h2>
@using (Ajax.BeginForm("List", new RouteValueDictionary { { "id", "" } }, new AjaxOptions { UpdateTargetId = "TServiceCredit", InsertionMode = InsertionMode.Replace }, new RouteValueDictionary { { "id", "searchForm" } }))
{
    <span>标题:</span>
    <input type="text" name="title" placeholder="标题" data-toggle="tooltip" title="标题" id="title" style="width: 100px" class="form-control" />
    <span>作者:</span>
    <input type="text" name="author" placeholder="作者" data-toggle="tooltip" title="作者" id="author" style="width: 120px" class="form-control" />
    <span>来源:</span>
    <input type="text" name="source" id="source" data-toggle="tooltip" title="来源" placeholder="来源" style="width: 120px" class="form-control" />
    <input type="submit" value="搜索(S)" accesskey="S" class="btn btn-default" />
}
<table class="table table-striped table-bordered">
    <tr>
        <th class="nowrap">序号</th>
        <th class="nowrap">
            @Html.DisplayNameFor(model => model.Company_ContactsTel)
        </th>
        <th class="nowrap">
            @Html.DisplayNameFor(model => model.Org_Name)
        </th>
        <th class="nowrap">
            @Html.DisplayNameFor(model => model.AddTime)
        </th>
    </tr>
    @{ int i = 0;}
    @foreach (var item in Model)
    {
        <tr>
            <td>@(Model.StartItemIndex + i++)</td>
            <td>
                @Html.DisplayFor(modelItem => item.Company_ContactsTel)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.Org_Name)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.AddTime)
            </td>
        </tr>
    }
</table>
<div>
    <div style="float: left; width: 50%">共 @Model.TotalPageCount
回复:您好,出现这种情况大多数是脚本错误导致,请确保相应的脚本文件都已正确引用,且页面上没有其它脚本错误,您可以用F12浏览器开发者工具来调试检查。谢谢!

2017-08-16 11:10  张先

想利用asp.net对rar文件进行加解密,能做吗?怎么联系您?
回复:您好,我没有做过类似的功能,但.net本身支持对任何类型的文件进行加解密,不限于rar,比如这里就有教程和例子: https://www.codeproject.com/articles/26085/file-encryption-and-decryption-in-c。我的gmail邮箱名是webdiyer。谢谢!

2017-08-15 08:00  黄海龙

您好,我在使用mvcpager的ajax标准分页的时候,开始在项目里是好使的,过了几天打开之后就不好使了,浏览器中提示的错误是:
Uncaught TypeError: $(...).initMvcPagers is not a function
    at HTMLDocument.<anonymous> (WebResource.axd?d=ieqWeMcmMMv27SrJ_PUI15qj_Luoxx8WCofP2g0Upesg5zTcWeW7UZOlknnueTkg32wdcuLwSXNMdmClqzCNIwNG7vWc6YtPhODBDMZXaGq3w4Yyow166k96PfiJXu-cf9NuZqk-o3pOlZR1u86mhA2&t=635747553320000000:1)
    at i (jquery-2.2.3.min.js:2)
    at Object.fireWith [as resolveWith] (jquery-2.2.3.min.js:2)
    at Function.ready (jquery-2.2.3.min.js:2)
    at HTMLDocument.J (jquery-2.2.3.min.js:2)
(anonymous) @ WebResource.axd?d=ieqWeMcmMMv27SrJ_PUI15qj_Luoxx8WCofP2g0Upesg5zTcWeW7UZOlknnueTkg32wdcuLwSXNMdmClqzCNIwNG7vWc6YtPhODBDMZXaGq3w4Yyow166k96PfiJXu-cf9NuZqk-o3pOlZR1u86mhA2&t=635747553320000000:1
i @ jquery-2.2.3.min.js:2
fireWith @ jquery-2.2.3.min.js:2
ready @ jquery-2.2.3.min.js:2
J @ jquery-2.2.3.min.js:2
请教一下怎么解决
回复:您好,出现这个错误很可能是jQuery脚本库或MvcPager脚本插件没引用或路径不正确,请调试检查。谢谢!

2017-08-08 09:49  青菜萝卜

MVC 5.2.3、.NET 4.6、Windows10、VS 2017

无论是1.5 还是最新的3.0,在运行后都会有提示2级安全透明模型的错误
“”程序集中的所有方法都变成安全透明的,这可能是导致发生此异常的原因
“”
回复:您好,您有简单的能重现这个问题的示例发给我看下吗?可以我的gmail邮箱,邮箱名就是webdiyer。谢谢!

2017-08-07 17:31  刘生

int Numcount = 0;
            thisAspNetPager.PageSize = 6;
            rptNewList.DataSource = bll.GetPageData("*", "ArticleInfoND", "ArtiTitle!='关于我们'", "ArtiId", "CreateTime desc", 6, this.thisAspNetPager.CurrentPageIndex, "", out Numcount);
            rptNewList.DataBind();
            thisAspNetPager.RecordCount = Numcount;
杨老师,为什么那个thisAspNetPager.RecordCount要大于5才能显示分页???
回复:您好,和RecordCount没有关系,默认多于一页时才显示分页控件,但可以通过设置AlwaysShow为true使分页控件在只有一页数据时也显示。

2017-08-07 14:43  素炒芹

现在有4页数据,当前选择为第3页,我在删除一条数据的时间进行分部视图来刷新数据,使当前页码回到第一页,然后第3页点击无效。只有点击了其他页之后,第三页才能有效点击,显示第三页的数据。
回复:您好,您用什么分页方式?删除数据后是如何刷新数据的?

2017-08-03 16:40  daybreak

请问mvcpager3.0:
      带搜索的ajax分页,点击搜索后,跳转的下拉列表中页码就都没有了。默认进来是有的。
回复:您好,这是个bug,不太好解决,建议Ajax分页且带搜索的情况下使用页索引文本框,避免使用下拉框。谢谢!
;