2009-12-08 100 views
3

在我的asp.net mvc網站,我使用swfobject加載Flash文件。這些文件在本地使用Visual Studio 2008服務器(F5)正常工作。但是,在部署到測試服務器時,它們根本不會加載。我的路由表看起來像這樣:ASP.NET MVC - SWF文件不加載

routes.MapRoute(
    "Default", 
    "{controller}.aspx/{action}/{id}/{title}", 
    new {controller = "Home", action = "Index",id = "",title=""}); 
routes.MapRoute(
    "Root", 
    "", 
    new {controller = "Home",action = "Index",id = "",title = ""}); 

而且我加載了主權財富基金,如:

<div id="home-container"> 
    <div id="flash-content" style="outline:none;position:absolute; top:0px"> 
     <h1>GET THE LATEST FLASH PLAYER TO VIEW THIS SITE.</h1> 
     <a href="http://www.adobe.com/go/getflashplayer"> 
      get it now 
     </a> 
    </div>   
</div> 
<script type="text/javascript"> 
    // Embed the SWF 
    var flashvars = {}; 
    var attributes = {id: "whole-grains-home", name: "whole-grains-home", style:"outline:none;"}; 
    var params = { allowscriptaccess: "always", menu: "false", wmode: "transparent", swliveconnect: "true" }; 
    var flashFile = '<%= Url.Content("~/files/flash/Homepage/R9IN03_PostH&W_Homepage.swf") %>'; 
    swfobject.embedSWF(flashFile, "flash-content", "990", "538", "9.0.0", "expressInstall.swf", flashvars, params, attributes); 
</script> 

我懷疑根本途徑是難辭其咎的,但我就是想不通爲什麼這在本地工作,但不在服務器上。

任何人有任何想法?

謝謝。

+1

如果內容是靜態可用的,那麼它應該在動態內容之前提供服務,這可能是一個IIS問題。您是否嘗試過直接在地址欄中加載flashFile URL(由Url.Content在視圖源中生成的頁面中),以查看是否返回錯誤? – Lazarus 2009-12-08 21:27:35

+0

我試過了,它沒有工作。然後,我注意到我的一個文件確實有效。然後我查看了那個文件,與其他文件相比較,發現那些沒有工作的文件在它們的文件名中(例如上面的例子)。解決這個問題似乎已經解決了。 – Scott 2009-12-08 22:09:21

回答

1

我注意到我的一個文件確實有效。然後我查看了那個文件,與其他文件相比,注意到那些沒有工作的文件在其文件名中有「&」(如上面的例子)。

考慮到這一點似乎已經解決了這個問題。