留言簿

我要留言
留言搜索

2015-03-25 12:39  小王

<RewriterRule>
<LookFor>~/listpage_(\d+)_(\d+)\.html</LookFor>
<SendTo>~/default.aspx?minid=$1&amp;page=$2
</SendTo>
</RewriterRule>
<RewriterRule>
<LookFor>~/listpage_(\d+).html</LookFor>
<SendTo>~/default.aspx?minid=$1</SendTo>
</RewriterRule>
问题应该是出现在.CS代码: protected void btn_search_Click(object sender, EventArgs e)
    { Response.Redirect("listpage.html?minid=" + tb_orderid.Text);
用的是URLRewriter重写组件,可否帮写个例子,谢谢
回复:您好,AspNetPager示例中就有Url重写的例子,请参考一下。谢谢!

2015-03-24 23:05  宇洋

我用以下ajax进行分页,为什么最后的效果还是有页面刷新啊?
@Ajax.Pager(Model, new PagerOptions { PageIndexParameterName = "page", ShowPageIndexBox = false, PageIndexBoxType = PageIndexBoxType.DropDownList, ShowGoButton = false },
                new MvcAjaxOptions { UpdateTargetId = "divMessages", OnBegin = "$('#divMessages').fadeOut('slow')", OnComplete = "$('#divMessages').fadeIn('slow')" });
回复:您好,不太清楚您说的页面刷新到底是指Ajax分页时的渐入渐出效果,还是Ajax分页失败而打开了新页面?无论如何,您需要用浏览器开发者工具进行调试检查,如果是Ajax分页失败,最可能原因是页面上有脚本错误,请检查调试。谢谢!

2015-03-24 19:26  zhangtaylor

首先对您的付出表示感谢。使用中遇到一个很怪的问题。
A页面是主视图
 public ActionResult  A(int? id)
 B页面是分部视图。内容有分页
 public PartialViewResult B(int Id = 0, int pageIndex = 1, string viewName = "_B")
A页面中调用B
    @Html.Action("B", "Article", new { Id = Model.ContentID })
首次加载,列表显示正常。分页后,页面就变成只显示B分部视图的内容。路由中,没有做任何设置。实在不知道是什么原因了。请教下。
回复:您用什么分页方式?Ajax还是普通路由分页?注意检查MvcPager生成的分页链接看是否正确,如果分页链接不正确,应该是Action属性值不正确,需要设置Action属性。谢谢!

2015-03-24 15:14  msg舒

你好,感谢你提供的分页控件,现在有一个问题,麻烦帮忙看一下原因:
在使用AjaxForm搜索的时候,
1.如果页面在get时候返回了一个空对象(即页面默认为空值)
2.我通过页面的搜索(POST)返回了分页对象的集合,进行了分页
那么问题来了...
此种方式绑定的分页,我们点击页面的分页将以get方式请求

如果我页面在get的时候调用了和post一样的请求(即页面默认有值) 那么页面的分页将以POST无刷新进行.
回复:您好,这是一个小bug,即将发布的3.0版已经修正这个问题,您现在要解决这个问题也很简单,将PagerOptions.AutoHide设为false即可。谢谢!

2015-03-23 20:25  老赵

我使用了@Ajax.post()分页模式。但遇到了分页条完全不显示的问题。能否帮我看下?1597053395
回复:您好,分页控件不显示是因为数据只有一页,请将PagerOptions.AutoHide设为false即可。谢谢!

2015-03-23 09:17  aspgreener

XSS漏洞是因为别人在url里构造一段可以执行的脚本,如"url?page=1&' onmouseover='alert(1)'",如果你参数原样呈现在页面上,就会多了一个" onmouseover='alert(1)'"这段脚本,这个是程序没有办法直接处理的,是你的控件自动输出的。所以希望能够在便利性的同时考虑一下安全,否则使用这个控件会存在安全隐患,还请杨老师在3.0中加以改进,谢谢。
回复:您好,您的理解有误,这不是MvcPager的问题,就您举的例子来说,url参数中如果包含onmouseover='alert(1)'这样的js脚本,它本身是构不成任何危害的,您之所以说它是隐患,是因为您在获取这个参数值后不做任何验证就把它放在脚本代码中运行,所以这是您的问题而不是MvcPager的问题。而如果url参数中出现<script>alert(1)</script>这类html标签的话,就会触发了asp.net本身的request validation,引发异常而出错,根本轮不到MvcPager来处理,如果您关闭了request validation的话,那就意味着您允许这样的标签出现在url参数中并自己对它进行处理,MvcPager更不应该对此进行干涉,所以对url中的参数不做任何处理而保持原样传递是正确的,至于MvcPager自身生成的页索引参数,它只能是数值,这有严格的验证,攻击代码决不会被这个参数传递并执行。谢谢!

2015-03-20 11:51  小王(接前一留言内容)

<RewriterRule>
<LookFor>~/listpage_(\d+)_(\d+)\.html</LookFor>
<SendTo>~/default.aspx?minid=$1&amp;page=$2
</SendTo>
</RewriterRule>
<RewriterRule>
<LookFor>~/listpage_(\d+).html</LookFor>
<SendTo>~/default.aspx?minid=$1</SendTo>
</RewriterRule>
问题应该是出现在.CS代码: protected void btn_search_Click(object sender, EventArgs e)
    { Response.Redirect("listpage.html?minid=" + tb_orderid.Text);
请问改怎么修改,帮修改下,谢谢
回复:您好,为什么不Redirect到重写后的url呢?您用什么url重写组件?确认重写功能没有问题吗?谢谢!

2015-03-20 11:48  小王

杨老师好!
URL查询结果URL分页测试后 默认页为默认页http://localhost:1697/qzhmbst/listpage.html
当输入查询条件如Order ID >= 34000时
地址却是http://localhost:1697/qzhmbst/listpage.html?minid=34000如何查可以为:
http://localhost:1697/qzhmbst/listpage_34000.html
或http://localhost:1697/qzhmbst/listpage_34000_1.html
而点下一页时可以正常伪静态成规则格式的地址http://localhost:1697/qzhmbst/listpage_34000_4.html说明静态有成功?  防止内容过长被截取掉,后续在下一留言中,谢谢

2015-03-18 18:14  小杨

杨老师,想给 页面索引超出范围 等这些弹框 自定义样式 目前用的是浏览器自带的alert
回复:您好,这个意见提的好,我刚升级完3.0,还没发布,对您说的这个问题我再想想看有没有好的解决办法。谢谢!
附言:3.0版已加入此功能,如果愿意帮忙测试的话请留下邮箱,我发一份最新的3.0版示例项目给您。谢谢!

2015-03-18 11:36  aspgreener

杨老师,您的mvcpager控件非常方便,不过,目前有XSS漏洞,还请及时修复一下,我已经修改了代码,不过由于使用了程序集签名,导致无法直接覆盖dll,publictoken不一致。不知道能否方便把您的签名pfx文件发给我呢?这样,之前有问题的项目直接覆盖dll即可,我的邮箱,shuiruohanilove@sina.com,非常感谢。
回复:您好,我不太明白您的意思,不知道您说的XSS漏洞具体是什么情况?MvcPager只负责生成分页链接,它会把分页前url中的参数原封不动地传递到其它页面,如果您的意思是分页url中可能有危险的脚本代码什么的,那这应该是您自己的责任,而不能指望MvcPager,和AspNetPager一样,两个分页控件都对url中的参数进行原样传递,不做任何编码或解码之类的处理,分页控件唯一负责的参数就是页索引参数,而这个参数只能是数值,不可能是其它非数值类型的字符串。MvcPager 3.0已基本开发完成,如果您有什么建议或发现什么问题,请尽可能在发布之前提出来,对于合理的建议和确实存在的问题,我都会竭尽所能升级完善。谢谢支持!
;