2009-12-08 97 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

我注意到我的一个文件确实有效。然后我查看了那个文件,与其他文件相比,注意到那些没有工作的文件在其文件名中有“&”(如上面的例子)。

考虑到这一点似乎已经解决了这个问题。