AspNetPager Url重写 多参数问题
AspNetPager Url重写 多参数问题代码如下:
<webdiyer:AspNetPager ID="AspNetPager1" runat="server"
onpagechanged="AspNetPager1_PageChanged" UrlPaging="True"
EnableUrlRewriting="True" UrlRewritePattern="~/List_%CategoryID%_p{0}">
</webdiyer:AspNetPager>
protected void Page_Load(object sender, EventArgs e)
{
//自己设置为
AspNetPager1.RecordCount = 100;
}
protected void AspNetPager1_PageChanged(object src, EventArgs e)
{
//存储工程调用(CategoryID=“01”)
GridView1.DataSource = (new DataSet1TableAdapters.resource_BooksTableAdapter()).GetDataByCategoryID("01", AspNetPager1.StartRecordIndex, AspNetPager1.EndRecordIndex, false);
GridView1.DataBind();
}
http://localhost:1512/TestAspPager/Default2.aspx?CategoryID=01&page=1
运行后能显示数据,(请求的 URL: http://localhost:1512/TestAspPager/List_01_p2)但单击分页无法找到网页了
无法找到资源。
说明: HTTP 404。您正在查找的资源(或者它的一个依赖项)可能已被移除,或其名称已更改,或暂时不可用。请检查以下 URL 并确保其拼写正确。
--------------------编程问答-------------------- --------------------编程问答-------------------- 因为我在项目中用了AspNetPager 一个参数的网页调用如: http://localhost:1512/TestAspPager/Default2.aspx?CategoryID=01;在这个页面中大量数据要分页。用了AspNetPager后第一页应该是http://localhost:1512/TestAspPager/Default2.aspx?CategoryID=01&page=1 ;这样能正常,但是进行URL重写设置 EnableUrlRewriting="True" UrlRewritePattern="~/List_%CategoryID%_p{0}" 后请求的 URL: 应该是http://localhost:1512/TestAspPager/List_01_p1,分页按钮的连接都正确但单击后都无法找到资源。 (上面是我后来又试一下简单的例子,请专家给予指点 ; 万分感谢
--------------------编程问答-------------------- 不懂,帮顶 --------------------编程问答-------------------- 学习`关注`UP --------------------编程问答-------------------- mark!~ --------------------编程问答-------------------- http://topic.csdn.net/u/20090511/23/9515b5b1-a1f9-41d9-b7a4-369aa95ce08c.html
http://topic.csdn.net/u/20090511/23/9515b5b1-a1f9-41d9-b7a4-369aa95ce08c.html
http://topic.csdn.net/u/20090511/23/9515b5b1-a1f9-41d9-b7a4-369aa95ce08c.html
http://topic.csdn.net/u/20090511/23/9515b5b1-a1f9-41d9-b7a4-369aa95ce08c.html
http://topic.csdn.net/u/20090511/23/9515b5b1-a1f9-41d9-b7a4-369aa95ce08c.html --------------------编程问答-------------------- 楼主的url没有映射过来吧。。。 --------------------编程问答-------------------- 遇到这个问题我也苦恼了一天,后来想到了一个办法
就是UrlRewritePattern属性放到后台处理 不一定要放到前台,实现功能即可
<webdiyer:AspNetPager ID="AspNetPager1" runat="server"
onpagechanged="AspNetPager1_PageChanged" UrlPaging="True"
EnableUrlRewriting="True">
</webdiyer:AspNetPager>
public string CategoryID="";
protected void Page_Load(object sender, EventArgs e)
{
//自己设置为
AspNetPager1.RecordCount = 100;
}
protected void AspNetPager1_PageChanged(object src, EventArgs e)
{
//存储工程调用(CategoryID=“01”)
CategoryID="01";
GridView1.DataSource = (new DataSet1TableAdapters.resource_BooksTableAdapter()).GetDataByCategoryID(CategoryID, AspNetPager1.StartRecordIndex, AspNetPager1.EndRecordIndex, false);
GridView1.DataBind();
this.AspNetPager1.UrlRewritePattern="~/List_"+CategoryID+"_p{0}";
}
--------------------编程问答-------------------- 上面朋友说的还是不行,现在我用一些其它的办法解决了,可以看一看呀IT资源网还是多谢各位网友的支持 --------------------编程问答-------------------- URL重写问题,不过把贴接了吧,我也接点分。。。。。。。。。 --------------------编程问答-------------------- 我就是把UrlRewritePattern属性放到后台处理后,页面就可以分页了 --------------------编程问答-------------------- 请问一下,你是用什么方法解决的? --------------------编程问答-------------------- 把你url重写的位置发来看看正则是否匹配你的 “List_01_p2”格式 --------------------编程问答-------------------- Up
--------------------编程问答-------------------- 没那么用过 --------------------编程问答-------------------- 我是在IIRF中做重定向来解决的。谢谢各位朋友支持!!!!!!!!!!!!!1 --------------------编程问答-------------------- 这方面经验不足。。。 --------------------编程问答-------------------- 老老实实,,在网上下载一个repeater,,gridview等控制的分页看吧,,,
不怎么喜欢用这个控件,,,不能随心所欲的使用,不够灵活 --------------------编程问答-------------------- 哎看来这个没人会吗? --------------------编程问答-------------------- UrlRewritePattern="brandlist-%id%-{0}.html" 除了page作为参数外,其他的参数一律直接用%参数名%代替,结贴给分吧 --------------------编程问答-------------------- 没弄明白,帮顶下! --------------------编程问答-------------------- 如果分页控件生成的重写后的链接地址正确但出现你说的无法找到该页的问题,那就不是分页控件的问题而是你重写的问题了,分页控件只负责生成Url,它不会帮你实现Url重写,你需要自己第三方组件或自己实现,比如我的示例项目中重写用的是UrlRewritting.net这个组件。 --------------------编程问答-------------------- 你项目中用URLRewriter.dll了吗?
如果用了请在web.config中设置重写规则。
<RewriterRule>
<LookFor>~/Infomation/c/(\d{1,})-(\d{1,})\.html</LookFor>
<SendTo>~/Infomation/category.aspx?id=$1&page=$2</SendTo>
</RewriterRule>
然后再AspNetPager中的设置为
<webdiyer:AspNetPager ID="AspNetPager1" runat="server" CssClass="paginator" CurrentPageButtonClass="cpb" ShowCustomInfoSection="Right" AlwaysShow="True" OnPageChanged="AspNetPager1_PageChanged" CustomInfoSectionWidth="" PageSize="1" Width="90%" PageIndexBoxStyle="width:19px" HorizontalAlign="Right" EnableUrlRewriting="True" UrlPaging="True" UrlRewritePattern="/Infomation/c/%id%-{0}.html">
</webdiyer:AspNetPager> --------------------编程问答-------------------- 你项目中用URLRewriter.dll了吗?
如果用了请在web.config中设置重写规则。
<RewriterRule>
<LookFor>~/Infomation/c/(\d{1,})-(\d{1,})\.html</LookFor>
<SendTo>~/Infomation/category.aspx?id=$1&page=$2</SendTo>
</RewriterRule>
然后再AspNetPager中的设置为
<webdiyer:AspNetPager ID="AspNetPager1" runat="server" CssClass="paginator" CurrentPageButtonClass="cpb" ShowCustomInfoSection="Right" AlwaysShow="True" OnPageChanged="AspNetPager1_PageChanged" CustomInfoSectionWidth="" PageSize="1" Width="90%" PageIndexBoxStyle="width:19px" HorizontalAlign="Right" EnableUrlRewriting="True" UrlPaging="True" UrlRewritePattern="/Infomation/c/%id%-{0}.html">
</webdiyer:AspNetPager> --------------------编程问答--------------------
<webdiyer:AspNetPager ID="AspNetPager1" runat="server"
onpagechanged="AspNetPager1_PageChanged" UrlPaging="True"
EnableUrlRewriting="True" UrlRewritePattern="~/List_%CategoryID%_p{0}.html">
</webdiyer:AspNetPager>
UrlRewritePattern="~/List_%CategoryID%_p{0}.html
楼主没加HTML文件后缀肯定找不到呀。。。汗了。 --------------------编程问答-------------------- 我是自己写了一个,也许不如他的好,但是够用了,自己感觉更灵活一点 --------------------编程问答-------------------- 你用URLRewriter.dll了吗,如果用了,在web.congif中这样设置
<RewriterRule>
<LookFor>~/Infomation/c/(\d{1,})-(\d{1,})\.html</LookFor>
<SendTo>~/Infomation/category.aspx?id=$1&page=$2</SendTo>
</RewriterRule>
然后aspnetpager中这样设置
<webdiyer:AspNetPager ID="AspNetPager1" runat="server" CssClass="paginator" CurrentPageButtonClass="cpb" ShowCustomInfoSection="Right" AlwaysShow="True" OnPageChanged="AspNetPager1_PageChanged" CustomInfoSectionWidth="" PageSize="1" Width="90%" PageIndexBoxStyle="width:19px" HorizontalAlign="Right" EnableUrlRewriting="True" UrlPaging="True" UrlRewritePattern="/Infomation/c/%id%-{0}.html">
</webdiyer:AspNetPager> --------------------编程问答-------------------- --------------------编程问答--------------------
不错/up --------------------编程问答-------------------- 不错个毛我怎么也没 --------------------编程问答-------------------- 一开始也是从网上找的分页控件或者分页代码,不过有次老板让我自己做,结果不到二十分钟做出来一个,呵呵!!功能也都实现了,跟网上的差不多,而且自己的东西改起来用起来都很顺手...呵呵! --------------------编程问答-------------------- 22楼写的这个控件 你听他的吧 --------------------编程问答--------------------
不错二十分钟写了个分页控件,估计也是这偷偷,那拷拷的 --------------------编程问答-------------------- 没这么用过,帮顶下 --------------------编程问答-------------------- 看看url重写后的页面是否正确,aspnetpager值是生成和你重写相匹配的地址,重写的靠第三方组件,微软的挺好的,
补充:.NET技术 , ASP.NET