2012-03-19 92 views
2

不知道發生了什麼,但我有兩個參數重寫。出於某種原因,頁面在被調用時會加載兩次。我知道這是重寫,因爲它僅僅是一個參數就可以正常工作。謝謝你的幫助。asp.net MapPageRoute加載頁面兩次

這是我的Global.asax

routeCollection.MapPageRoute("RouteForAlbum", "album/{autoID}/{albumName}", "~/SitePages/AlbumView.aspx"); 

這是我的網頁加載

if (!Page.IsPostBack) 
{ 
    string id = Page.RouteData.Values["autoID"].ToString(); 
    string albuname = Page.RouteData.Values["albumName"].ToString(); 
} 

回答

0

UDPATE:

這也可以一起使用CSS3PIE與ASP.net路由時,而發生兩不很好地一起玩。

任何CSS3PIE CSS樣式與值中的URL都可以導致目標頁面執行多重時間後面的代碼。對我而言,這是兩條線:

  • behavior:url(PIE.htc);
  • -pie-background:url(bg-image.png)無重複,線性漸變(#FFFFFF,#53A9FF);

將上述兩行改爲以斜槓「/」開始,並指定文件的完整路徑。

  • behavior:url(/scripts/PIE-1.0.0/PIE.htc);
  • -pie-background:url(/scripts/PIE-1.0.0/bg-image.png)無重複,線性漸變(#FFFFFF,#53A9FF);
+0

此外,有關使用asp.net路由和執行後不必要的代碼的一個備註是,路由似乎還運行其他頁面的代碼,而不是某些場景中請求的代碼。經過一些試驗和錯誤之後,我發現如果你的routeUrl參數(MapPageRoute上的第二個參數)指向一個不同的routeUrl目錄,它將不會執行此操作。 – johntrepreneur 2012-11-22 00:04:02