2010-10-14 36 views
0

我的客戶端爲他的網站請求一個flash頭文件。我使用的是asp.net和一個母版頁(flash header的代碼)。我的問題是,無論何時我訪問不在網站根目錄中的網頁,都不會顯示Flash。我已經與本網站的純CSS菜單同樣的問題...在主頁面上嵌入Flash

下面的代碼:

<div id="header"> 
     <!--[if !IE]> --> 
     <object type="application/x-shockwave-flash" 
      data="App_Themes/Default/banner1.swf" width="1000" height="400"> 
     <!-- <![endif]--> 

     <!--[if IE]> 
     <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" 
      codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" 
      width="1000" height="400"> 
      <param name="movie" value="App_Themes/Default/banner1.swf" /> 
      <embed src="App_Themes/Default/banner1.swf" width="1000" height="400"></embed> 
     <!--><!--dgx--> 
      <param name="loop" value="true" /> 
      <param name="menu" value="false" /> 

      <p></p> 
     </object> 
     <!-- <![endif]--> 
    </div> 

正如你所看到的,我不是要求的路徑,相對於Flash對象該網站的根(如果這不清楚...如果它是一個asp.net控件,我會使用~/App_Themes/Default/banner1.swf"

Flash對象正在加載相對於當前正在查看的頁面的位置在網站上。假設從根目錄獲得不確定的文件夾深度,如何更改代碼以相對於根加載Flash,而不是當前頁面?

我已經考慮通過增加/~/來改變正在使用的路徑,但這隻會導致flash無法在任何頁面上加載。 查看源代碼,服務器將/App_Themes/Default/banner1.swf修改爲~/App_Themes/Default/banner1.swf

回答

0

在普通URL中粘貼〜/不起作用。嘗試使用這樣的:

<object type="application/x-shockwave-flash" 
    data="<%=ResolveUrl('~/App_Themes/Default/banner1.swf')%>" 
    width="1000" height="400"> 
+0

無改善,但結果轉換爲:'數據=「\\ 192.168.1.13 \用戶\洛根\文檔\ Visual Studio 2008的\網站已\客戶\ RFInvestments \ App_Themes文件\ DEFAULT \ banner1瑞士法郎「'。閃光仍然不顯示在任何頁面上 – Ortund 2010-10-14 13:52:47

+0

@Logan哎呀,我的壞。它是'ResolveUrl'而不是'MapPath'。修正了我的答案。 – Jess 2010-10-14 14:06:40

+0

我接受你的答案,因爲它無比有用。必須清楚,解決方案不是'Server.ResolveUrl',它是'Page.ResolveUrl'。謝謝您的幫助 :-) – Ortund 2010-10-14 14:13:11