我尝试使用ASP.NET 4.0 WebForms路由。这里是我的RegisterRoutes功能:ASP.NET 4.0 WebForms路由Javascript不起作用
void RegisterRoutes(RouteCollection routes)
{
routes.Ignore("{resource}.axd/{*pathInfo}");
routes.MapPageRoute("GoodInfo", "catalog/good/{good}", "~/GoodInfo.aspx");
routes.MapPageRoute("GoodGroup", "catalog/group/{group}", "~/default.aspx");
}
对于像/catalog/group/{group}
一切的网页就可以了。但页面catalog/good/{good}
有问题。
第一个奇怪的事情是:当我打开这个页面时,它会调用两次。所以我看到Page.RouteData.Values["good"]
有什么价值。第一次在Page.RouteData.Values["good"]
有正确的值(my goodId),但第二次我得到字符串值“WebResource.axd”!
所以我的highslide JavaScript不能在页面上工作。当我点击highslide图像时,页面会重新加载而不是执行JavaScript。
我增加了这一行routes.Ignore("{resource}.axd/{*pathInfo}");
但它没有帮助我。有任何想法吗?
我有一个类似的问题在我的应用程序为了“修复”它,我添加了在我们的页面上改变了所有资源(图片,CSS和JS)的引用链接,所以不是''我写过类似''script type =”text/javascript“src =”/../ scripts/something.js“>'。请注意脚本源代码中的额外斜杠。 VS会抱怨,但我会在运行时正常工作。我花了一段时间才弄明白这一点,我不得不尝试不同的路径组合,直到我终于得到这样的路径。希望对你有效。 – MilkyWayJoe 2012-03-02 20:11:34