解决方案 »
- asp.net调用本地系统的文件夹对话框?
- 谁可以帮忙解释一下 网站全站登陆问题,sso问题.或是做网站面试一般问什么关心的问题
- 请进来看下......没试过的...
- 怎样把从数据库中取得的数据显示到自己指定的区域?
- 关于文件上传得权限问题。。
- 大家看看我的newsID怎么取不到值啊!~
- 【下了2005,但是不知道怎么解压缩!!】
- 大哥大姐很请帮帮忙吧,一个<input type=file.../>上传的问题
- 关于文件名中有字符#~等无法下载的问题
- 请问把数据库连接、数据适配器、数据集都作为Page_Load中的局部变量时如何在.rpt中添加内容
- 怎么隐藏url传值的参数
- 关于ASP.NET的HttpUtility.HtmlEncode问题
再拿个简单的例子说明下:
原始Url:http://www.xxx.com/articlelist.aspx?type=aspnet&page=2
重写Url:http://www.xxx.com/articlelist/aspnet_2.htm
下面是aspx页面设置:
<webdiyer:AspNetPager ID="AspNetPager1" runat="server" AlwaysShow="true"
PageSize="20" onpagechanging="AspNetPager1_PageChanging" FirstPageText="首页"
LastPageText="尾页" NextPageText="下一页" PrevPageText="上一页" UrlPaging="True"
ShowFirstLast="False" ShowPageIndexBox="Never" EnableUrlRewriting="True" UrlRewritePattern="/articlelist/%type%_{0}.htm" ></webdiyer:AspNetPager>
要注意的是:UrlRewritePattern="/articlelist/%type%_{0}.htm" 规则中的%type%,就是原始Url中的参数名type,设置相同即可。 aspnetpager多参数URL重写在webconfig中, "&"这个字符的问题,&转义失败:这里用的是msdn里头的UrlRewriter.dll组件。在webconfig中, "&"这个字符的问题,&转义失败;取代方法: <![CDATA[YourUrlRewritePattern]]><RewriterRule>
<LookFor>~/(\d{0,10})/exparticlelist-(\d{0,10}).aspx</LookFor>
<SendTo> <![CDATA[~/exparticlelist.aspx?expid=$1&page=$2]]> </SendTo>
</RewriterRule>
设置UrlRewritePattern属性为:newslist_%newsId%/{0}然后在重写规则里再添加一个<RewriterRule>
<LookFor>~/news/newslist_(\d+)/(\d+)</LookFor>
<SendTo><![CDATA[~/news/newslist.aspx?newsId=$1&page=$2]]></SendTo>
</RewriterRule>
规则中的page就是aspnetpager控件得UrlPageIndexName属性的值
谢谢您,您没看懂我的意思,可能我描述的不太清楚
这是我的webconfig
/*没有参数也不用分页*/
<RewriterRule>
<LookFor>~/exchange.html</LookFor>
<SendTo>~/Aspx/exchange.aspx</SendTo>
</RewriterRule>
/*有参数时不用分页*/
<RewriterRule>
<LookFor>~/exchange/list-(.[0-9]*).html</LookFor>
<SendTo>~/Aspx/exchange.aspx?classid=$1</SendTo>
</RewriterRule>
/*有参数的分页*/
<RewriterRule>
<LookFor>~/exchange/list-(.[0-9]*)-(.[0-9]*).html</LookFor>
<SendTo>~/Aspx/exchange.aspx?classid=$1&page=$2</SendTo>
</RewriterRule>
/*没有参数的分页*/
<RewriterRule>
<LookFor>~/exchange/(.[0-9]*).html</LookFor>
<SendTo>~/Aspx/exchange.aspx?page=$1</SendTo>
</RewriterRule>
事件里面调用的是BindPage()方法,把条件传过去"
楼主这是应该指定html页面的地址然后后台加载的时候根据参数取出数据了
dropdownlist去请求的form表单地址估计是原始的aspx地址吧
那应该怎么处理呢
就是你onselectedindexchanged事件直接response.redirect一个html地址啊,这个地址包含了你的分页和分类参数啊,然后你去在page_load事件里面去判断参数并且加载数据啊
那应该怎么处理呢
就是你onselectedindexchanged事件直接response.redirect一个html地址啊,这个地址包含了你的分页和分类参数啊,然后你去在page_load事件里面去判断参数并且加载数据啊那怎么阻止onselectedindexchanged事件response.redirect地址呢
注意:设置EnableUrlRewriting="true"将自动设置UrlPaging="true"(默认为false),无需再单独设置该属性的值。
那应该怎么处理呢
就是你onselectedindexchanged事件直接response.redirect一个html地址啊,这个地址包含了你的分页和分类参数啊,然后你去在page_load事件里面去判断参数并且加载数据啊那怎么阻止onselectedindexchanged事件response.redirect地址呢
我是说你直接在onselectedindexchanged事件里面写Response.Redirect("你的url地址注意是伪静态后的地址以及参数")
是的,
我现在情况是页面加入条件对查询出来的数据进行筛选,在筛选的过程中,页面刷新了,伪静态没有保持
楼主的问题标题应该改改,你这个问题和AspNetPager没有任何关系,标题扯上AspNetPager导致楼上的都围绕着AspNetPager回答去了。 你的问题是使用了服务端控件,服务端控件在更改值时是有一次postback的, 服务端的,postback之后自然就是服务端的页面地址了。
参见:http://www.cnblogs.com/JeffreyZhao/archive/2008/01/13/Url-Rewrite-3.html
那应该怎么处理呢
就是你onselectedindexchanged事件直接response.redirect一个html地址啊,这个地址包含了你的分页和分类参数啊,然后你去在page_load事件里面去判断参数并且加载数据啊那怎么阻止onselectedindexchanged事件response.redirect地址呢
我是说你直接在onselectedindexchanged事件里面写Response.Redirect("你的url地址注意是伪静态后的地址以及参数")但是我的onselectedindexchanged事件里面不需要跳转,你让我用Response.Redirect跳转走了,页面相当于又重新加载了,我需要的是在onselectedindexchanged事件里重新调用绑定数据的方法,重新绑定数据
是的,
我现在情况是页面加入条件对查询出来的数据进行筛选,在筛选的过程中,页面刷新了,伪静态没有保持
楼主的问题标题应该改改,你这个问题和AspNetPager没有任何关系,标题扯上AspNetPager导致楼上的都围绕着AspNetPager回答去了。 你的问题是使用了服务端控件,服务端控件在更改值时是有一次postback的, 服务端的,postback之后自然就是服务端的页面地址了。
参见:http://www.cnblogs.com/JeffreyZhao/archive/2008/01/13/Url-Rewrite-3.html哦,谢谢,可能我描述不太清楚
为什么不需要跳转走呢,你postback下还不是要去服务器返回下数据回来,你在page_load里用if (!IsPostBack)这个就可以防止页面全部提交了
为什么不需要跳转走呢,你postback下还不是要去服务器返回下数据回来,你在page_load里用if (!IsPostBack)这个就可以防止页面全部提交了
跳转之后 我的查询条件就没了,
RewriteRule ^/AboutUs/terms-of-use\.html /Terms-of_Use.aspx
为什么不需要跳转走呢,你postback下还不是要去服务器返回下数据回来,你在page_load里用if (!IsPostBack)这个就可以防止页面全部提交了
跳转之后 我的查询条件就没了,这个还不简单,你把查询条件也当作参数重写不就行了,你在重写规则多写个就行
为什么不需要跳转走呢,你postback下还不是要去服务器返回下数据回来,你在page_load里用if (!IsPostBack)这个就可以防止页面全部提交了
跳转之后 我的查询条件就没了,这个还不简单,你把查询条件也当作参数重写不就行了,你在重写规则多写个就行更复杂了