2011-05-29 85 views
3

我正在使用Intelligencia UrlRewriter来应用URL重写。URL重写页面加载循环

我把page1.aspx和使用OnClick事件的按钮,并做了Response.Redirectpage2.aspx。如果我使用这两个示例页面进行测试,一切正常。

然后,我将一些样式和javascript应用于page2.aspx。当我点击page1.aspx上的同一个按钮并在page2.aspx.cspage_load函数上设置断点时,我观察到page_load函数循环多次,并且它循环并加载所有数据库调用多次。

申请IsPostback没有帮助。然后我删除了CSS和JS,那么一切都很好。需要回答为什么这个page_load函数重复多次。

+0

你有没有为JS和css文件夹设置urlrewrite规则? – 2011-05-29 07:22:38

回答

0

您必须为CSS和JS目录设置重写规则。您的页面一次又一次地调用,因为您的页面提供了css和JS文件的请求。根据你的目录系统为你的CSS和JS设置重写规则。

编辑 不知道可能是工作中使用的开箱ASP.Net实施以及发生

<rewrite url="^(/.+(\.gif|/.+\.png|\.jpg|\.ico|\.pdf|\.css|\.js|\.asmx|\.axd|\.flv|\.swf)(\?.+)?)$" to="$1" processing="stop" /> 
+0

我所有的CSS文件都在Styles文件夹下,我所有的js文件都在js文件夹下,并且这两个文件夹都位于主目录下。所以你可以指导我如何编写REWRITERULE在这种情况下,因为IAM完全新的URL重写和完全丢失在REWRITERULES这一点........尝试,但不能解决我的问题 – harry 2011-05-29 09:18:55

+0

我的应用程序是在ASP中。 NET 3.5 C# – harry 2011-05-29 09:47:43

+0

感谢Mr.Prakash确实节省了我的一天......现在它的工作,现在我甚至理解逻辑如何处理........你也可以建议几个最好的链接来获得URL REWRITING indepth知识...对于一个asp.net 3.5 C#应用程序........ – harry 2011-05-29 13:05:19

0

页负载循环。一种方法可以检查并减少处理开销,即检查httpContext对象以查看当前请求的对象是什么。如果对象不是您所期望的 - 图像,.js文件,样式表等,请退出页面处理。

4

我也有这个问题。像其他人一样,它可能是由页面内的相对路径引起的。

我被重写:

domain.com/article/12345/title-here 

要成为:

domain.com/article.aspx?ID=12345 

问题是,有2个图像与相对路径:

EG. images/fb.jpg 
     images/tw.jpg 

通过登录请求的值。 RawUrl.ToString(),我能够看到浏览器正在请求以下图像:

domain.com/article/12345/images/fb.jpg 

domain.com/article/12345/images/tw.jpg 

虽然这些文件不存在,但URL仍然符合重定向规则。

因此,重写的URL:

domain.com/article.aspx?ID=12345 

这就解释了为什么我的网页加载三次。一次用于HTML,一次用于每个图像。

将图像src值更改为绝对路径并解决了问题。

+0

非常感谢你...这帮了我很多! – 2013-10-29 18:25:24