簡體   English   中英

ASP.NET WebForms路由Javascript錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM