留言簿
留言成功,请等待站长审核,谢谢支持!
2019-03-18 11:47 张文杰
搜索分页搜索后不能回到第一页 @using (Html.BeginForm("Search", ViewContext.RouteData.GetRequiredString("Controller"), new RouteValueDictionary { { "id", "" } }, FormMethod.Post, new { id = "form" })) 这样生成的form的action是这样的 /TestPager/Search?Count=1&Keys=System.Collections.Generic.Dictionary%602%2BKeyCollection%5BSystem.String%2CSystem.Object%5D&Values=System.Collections.Generic.Dictionary%602%2BValueCollection%5BSystem.String%2CSystem.Object%5D。 如果把BeginForm方法的最后一个参数去掉生成的action是对的 /TestPager/Search 点击搜索可以回到第一页。 为什么BeginForm方法加上最后一个参数生成的action就会多一些乱七八糟的值
回复:您好,很明显是您的重载方法的参数有问题,与您最相近的两个重载方法是:BeginForm(HtmlHelper, String, String, Object, FormMethod, Object)和BeginForm(HtmlHelper, String, String, RouteValueDictionary, FormMethod, IDictionary),如果您第三个参数是RouteValueDictionary,那么最后一个参数必须是IDictionary,而您传递的是object,您可以改成:Html.BeginForm("Search", ViewContext.RouteData.GetRequiredString("Controller"), new RouteValueDictionary { { "id", "" } }, FormMethod.Post, new Dictionary {{ "id","form" }})或Html.BeginForm("Search", ViewContext.RouteData.GetRequiredString("Controller"), new { id= "" } }, FormMethod.Post, new { id = "form" })。谢谢!
2019-03-16 07:12 佩服webdiyer
您好! 请问MvcCaptcha.dll 仅能用于MVC,不能能用于Web Forms吗?
回复:您好,MvcCaptcha只支持MVC,不支持webform。谢谢!
2019-03-14 19:37 孤单小王子
你好, 我用var WarList = (from a in db.tp_spec_goods_price join b in db.tp_goods on a.goods_id equals b.goods_id ..OrderByDescending(s => s.id).ToPagedList(id,10); 查询出来的 直接取出要的集合。现在是匿名对象,怎么转成 pagelist 对象
回复:您好,现在就是PagedList,您的linq语句中没有select吗?如果您select的是a,那么返回的对象就是PagedList这个,如果select的是自定义的字段,则返回的是PagedList,谢谢!
2019-03-02 00:38 小彬彬
杨老师你好 我用Html.BeginForm做搜索会出现刷新页面情况 然后我换成Ajax.Pager 做搜索能OK 无刷新 我看你demo上有用到Html.BeginForm做无刷新搜索 对了很多遍代码 我不知道我哪里错了 我的代码如下 @using (Html.BeginForm("Index", "User", new { id = "articles" }, FormMethod.Get, new { id = "searchForm" })) { <div> <div> <input type="submit" class="btn" accesskey="S" value="搜索(S)" /> </div> <div> <span>电话:</span> @Html.TextBox("Mobile", null, new { @class = "text-input", maxlength = "20" }) </div> <div> <span>登录名:</span> @Html.TextBox("LoginName", null, new { @class = "text-input", maxlength = "20" }) </div> </div> } <div id="articles"> @Html.Partial("_AjaxSearchGet") </div> @section Scripts{@{Html.RegisterMvcPagerScriptResource();}}
回复:您好,没看到MvcPager的代码,不知道您是怎么调用和设置参数的?另外Ajax分页失败的话,最常见的原因是页面上有脚本错误导致Ajax请求失败,您可以用浏览器开发者工具调试检查一下。谢谢!
2019-03-01 23:20 小黑
@using (Ajax.BeginForm("Edit", "User", new { id = "frm" }, new AjaxOptions { HttpMethod = "POST", UpdateTargetId = "result", OnSuccess = "OnSuccess" })) { ....... } 杨老师我用无刷新分页指定了对应的 form id =“frm” 如代码所示 但是生成的form id 怎么会是 form0 ajax.beginform 的写法怎么指定form id呀?
回复:您好,方法调用错误,第二个参数是路由值,而不是form的html属性,最后一个参数才是,正确的写法应该是:@using (Ajax.BeginForm("Edit", "User", null, new AjaxOptions { HttpMethod = "POST", UpdateTargetId = "result", OnSuccess = "OnSuccess" },new { id = "frm" })),关于Ajax.BeginForm方法的重载请看这里:https://docs.microsoft.com/en-us/dotnet/api/system.web.mvc.ajax.ajaxextensions.beginform?view=aspnet-mvc-5.2。谢谢!
2019-02-23 16:42 小彬彬
杨老师你好,我用了ajax分页后重新渲染列表行样式会丢失,而且checkbox 全选效果也失效,我每次在分部视图重新做样式加载或者是事件加载是可以解决问题,但是我页面很多,有没有什么更好的办法 谢谢!
回复:您好,出现这个问题应该是Ajax分页失败导致的,分页后返回的分部视图信息没有被插入到页面指定部位,而是打开了新页面,所以导致css样式等全部丢失,请用浏览器开发者工具检查调试。另外要使checkbox列表全选功能有效,必须用类似于$("#mytable").on("click",":checkbox",function(){...})冒泡到checkbox的上一级进行绑定才行,否则因为分页后的checkbox是新创建的,不用前面的方法事件绑定就不会对新创建的元素起作用,请参考jQuery的on方法文档。谢谢!
2019-02-21 12:22 史新雨
您好,我用了您的Ajax动态加载那个,为啥点击分页之后会触发很多次请求的url呢?还有,如果有额外的参数我如何传到相应的控制器?
回复:您好,出现这个问题最大可能性是您将脚本注册到分页视图上,导致每次分页后客户端分页按钮被反复绑定事件处理程序,请在主页面注册脚本插件而不是分页视图上。额外的参数可以通过PagerOptions.RouteValues这个属性值来传递生成。谢谢!
2019-02-21 09:51 史新雨
您好,我mvc初学者,用了您的标准ajax分页想实现只刷新分部视图,就是主页面局部刷新,为啥不行呢,总是连主页面一块刷新了,判断是否为ajax请求的地方总是false。
回复:您好,您是否注册了分页脚本插件并正确引入了jQuery?另外请用浏览器开发者工具检查一下页面上是否有脚本错误,任何脚本错误都会导致Ajax请求失败。谢谢!
2019-02-14 10:53 曹
您好,AspNetPager不用url分页,能用另一个表中的字段排序吗?用多表链接的话翻页会报错
回复:您好,排序和分页没有直接关系,就象数据获取需要您自己实现一样,排序和数据获取是一样的。谢谢!
2019-02-12 15:01 ysp
杨老师,请问MVCPager的分页是先把所有数据查出来,再分页,数据量大的数据库那不是很慢吗
回复:您好,分页组件和数据获取逻辑没有直接关系,怎么获取数据控制权完全在您手上,不过MvcPager提供了一个ToPagedList的Linq扩展方法,如果您用sql server数据库的话,用这个方法获取数据是不是获取全部数据的。谢谢!