Я решил свою проблему! Решение состоит из 2 частей.
Сначала я изменил определение сценариев с
<script type="text/javascript" src="../scripts/something.js"></script>
до
<script type="text/javascript" src="/../scripts/something.js"></script>
Спасибо MilkyWayJoe за это решение.
Во-вторых, я добавил Ignore Routing
routes.Ignore("catalog/good/{resource}.axd/{*pathInfo}");
вместо:
routes.Ignore("{resource}.axd/{*pathInfo}");
Так что у моих веб-ресурсов больше нет маршрутов на таких страницах, как http://mysite.com/catalog/good/41
Также у меня есть события сценария на странице, такие как http://mysite.com/catalog/good/41/event/seq/1
. Чтобы поймать все параметры, я добавляю к своим правилам маршрута это
routes.Ignore("catalog/good/{good}/{*query1}");
routes.Ignore("catalog/good/{good}/{query1}/{*query2}");
routes.Ignore("catalog/good/{good}/{query1}/{query2}/{*query3}");
routes.Ignore("catalog/good/{good}/{query1}/{query2}/{query3}/{*query4}");
И не забывайте, что ваши Ignore
объявления должны быть размещены до MapPageRoute
объявлений:
routes.Ignore("catalog/good/{resource}.axd/{*pathInfo}");
routes.MapPageRoute("GoodInfo", "catalog/good/{good}", "~/GoodInfo.aspx");`enter code here`