【问题标题】:ASP.NET Setting Flash file path for Object tag inside a usercontrolASP.NET 为用户控件内的 Object 标记设置 Flash 文件路径
【发布时间】:2010-01-28 20:39:34
【问题描述】:

我有一个 ASP.NET 用户控件,我想在其中使用 flashplayer 运行 flash 电影。如何正确设置 flash 电影文件的路径,以便无论文件夹如何,它都可以在所有页面中工作。 IE;它应该在 FolderA 中的一个页面和 FolderASub1 中的一个页面中工作,该页面在 FolderA 中,并且在 Root 文件夹中也有一个页面。我的 Flash 文件位于 root 中名为 FlashGallery 的文件夹中。我的用户控件位于 Root 中的子文件夹中。

我不确定如何在这里使用~。因为它的(播放Flash 的对象标签)不是服务器控件。 事实上我也不能放置完整的相对路径。

有什么想法吗?

【问题讨论】:

    标签: asp.net user-controls relative-path


    【解决方案1】:

    您可以使用基于根的路径:/FlashGallery/movie.swf

    或者你可以在你的代码中生成一个路径字符串,并将它放在 aspx 文件中,如下所示:

    【讨论】:

    • +1 如果您知道 SWF 的路径并且它不会更改,您可以简单地使用绝对 URL。您无需使用“~”,因为它不是服务器端路径
    【解决方案2】:

    使用基于域根目录的绝对路径。而不是使用像

    这样的相对url路径

    “我的电影播放器​​.fla”

    "../mymovieplayer.fla"

    这样做

    "/flash/mymovieplayer.fla"

    【讨论】:

    • 但是我的用户控件在root的子文件夹中
    • 在我的建议中,在尼克的建议中,根文件夹由初始的“/”表示 - 然后添加子文件夹和文件名:“/FlashGallery/movie.swf”
    • 没关系。因为您所关心的只是呈现给浏览器的结果路径。您只需要为 flash 路径指定一个静态。
    • 但是当用户控件位于根目录的子文件夹中时,它是如何工作的?我试过了。它没有。我知道使用 ~ 会使其进入根目录。但是 / 做到了吗?
    • 浏览器将 / 解释为当前页面所在站点的根文件夹。所以 /FlashGallery 是根目录下的子文件夹。假设已授予从该文件夹提供文件的权限,您的浏览器将能够加载您的电影。
    【解决方案3】:

    仅供参考:我使用此(免费)控件:http://www.junasoftware.com/servercontrols/swfobject.net/download.aspx

    您可以使用“~”波浪号来使用站点根目录的相对路径,它可以在母版页上工作,即使内容页面位于不同的目录中,您也可以这样使用它:

    . . .

    它是免费的!

    【讨论】:

      【解决方案4】:

      如果您始终知道您的网站将安装到根目录,则使用基于根目录的路径很好,但这是不现实的最佳实践。

      如果我们可以使用 ~/ 的服务器端相对路径前缀作为 ... 标签,那就太好了,但正如您所知,它不是用户控件,所以它只是按原样呈现给客户端。下面是一个技巧,可让您为客户端脚本块指定 ~/ 相对路径。

      我基本上在页面、母版页或控件后面的代码上使用 VirtualPathUtility 类和一个受保护的方法,它对我来说非常有效。

      方法如下:

      protected string GetPageRelativePath(string targetPath)
      {
          return VirtualPathUtility.MakeRelative( Request.AppRelativeCurrentExecutionFilePath, targetPath );
      }
      

      下面是在脚本块中使用 ~/ 前缀的方法:

      <script type="text/javascript" src='<%=GetPageRelativePath("~/Scripts/MyScript.js") %>'></script>
      

      基本上你可以将它与其他 src 路径一起使用,甚至是图像或 Flash 文件的路径。

      希望对您有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-07-22
        • 1970-01-01
        • 2021-06-04
        • 2011-02-05
        • 2019-10-16
        • 1970-01-01
        相关资源
        最近更新 更多