[英]ASP.NET WebForms Routing Javascript Error
使用ASP.NET 4.0 WebForms路由的JavaScript出現一些問題。
我的代碼:
void Application_Start(object sender, EventArgs e)
{
RegisterRoutes(RouteTable.Routes);
}
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");
}
沒有路由,一切正常。 但是當我使用它時,我在hte頁面上出現了錯誤(在Firebug中)
錯誤:未定義jQuery
在這條線上:
jQuery(document).ready(function () {
HideBlocks();
});
因此,我的JavaScript在路由的頁面上不起作用。
我添加了以下路線: routes.Ignore("{resource}.axd/{*pathInfo}");
但這並沒有幫助我。
我已經解決了我的問題! 該解決方案包括2個部分。 首先,我將腳本定義從
<script type="text/javascript" src="../scripts/something.js"></script>
至
<script type="text/javascript" src="/../scripts/something.js"></script>
感謝MilkyWayJoe提出了該解決方案。
其次,我添加了忽略路由
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}");
並且不要忘記,必須在MapPageRoute
聲明之前放置您的Ignore
聲明:
routes.Ignore("catalog/good/{resource}.axd/{*pathInfo}");
routes.MapPageRoute("GoodInfo", "catalog/good/{good}", "~/GoodInfo.aspx");`enter code here`
如果查看頁面的生成源,是否包括jQuery庫?
如果您通過資源包含jQuery,請仔細檢查它是否包含在內,並且在該行之前出現錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.