我嘗試使用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