none
asp.net控制FLASH播放路径 RRS feed

  • 问题

  •       ASPX页面 
         <asp:Literal ID="Literal2" runat="server" Text='&#13;&#10;  <object   classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"  &#13;&#10;   codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0"   width="350"   height="100"   id="Id1">    &#13;&#10;  <param   name="movie"   value="<%=str %>"/>   &#13;&#10;  <param   name="quality"   value="high"   />   &#13;&#10;  <param   name="bgcolor"   value="false"   />   &#13;&#10;  <embed   src="<%=str %>"   quality="high"      width="350"   height="100" type="application/x-shockwave-flash"   pluginspage="http://www.macromedia.com/shockwave/download/index.cg?P1_Prod_Version=ShockwaveFlash"   />&#13;&#10;  </object>&#13;&#10;  '></asp:Literal>

    cs页面:
    定义了1个全局变量:public string str=System.Configuration.ConfigurationSettings.AppSettings["flashpath"].ToString();

    webconfig:
    <add key="flashpath" value="新文件夹1/aa.swf"/>


    我测试了几种方式:
    1:不实用webconfig,直接在CS页面把路径写固定.str="新文件夹1/aa.swf"; ---不行
    2:在ASPX页面里不使用<%=str%>,直接把value和src 的值写成  "新文件夹1/aa.swf",通过。

    请问在使用到webconfig的情况下,问题出在哪?要怎么解决呢?
    2009年8月4日 3:11

答案

  • ----------------------------------------------------------------------------
    -- web.config
    ----------------------------------------------------------------------------
    <appSettings>
    	<add key="XFlashURL" value="http://www.dookyweb.com/avatars.swf"/>
    </appSettings>
    ----------------------------------------------------------------------------
    -- .cs
    ----------------------------------------------------------------------------
    protected void Page_Load(object sender, EventArgs e)
    {
        Literal1.Text = string.Format("<embed src=\"{0}\" width=\"500\" height=\"500\"></embed>", System.Configuration.ConfigurationSettings.AppSettings["XFlashURL"]);
        // 或者
        //Literal1.Text = "<object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0\" width=\"500\" height=\"500\">"
        //+ string.Format("<param name=\"movie\" value=\"{0}\">", System.Configuration.ConfigurationSettings.AppSettings["XFlashURL"])
        //+ "<param name=\"quality\" value=\"high\">"
        //+ string.Format("<embed src=\"{0}\" quality=\"high\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" type=\"application/x-shockwave-flash\" width=\"500\" height=\"500\"></embed>", System.Configuration.ConfigurationSettings.AppSettings["XFlashURL"])
        //+ "</object>";
        // 或者在添加以下 HTML 代码
        // <embed src="<%=System.Configuration.ConfigurationSettings.AppSettings["XFlashURL"] %>" width="500" height="500"></embed>
    }


    知识改变命运,奋斗成就人生!
    2009年8月4日 3:54
    版主
  • 使用
    <%=str%>
    就无需使用asp:Literal控件了,直接写

    <object   classid="cls.....
    <param   name="movie"   value="<%=str %>"/>
    【孟子E章】
    2009年8月4日 5:28
    版主
  • 你好你尝试不要用Literal控件 直接将object标签输出试试,因为这可能会导致/被替换


    Wenn ich dich hab’,gibt es nichts, was unerträglich ist.坚持不懈!http://hi.baidu.com/1987raymond

    试过了,不用LITERAl控件可以。
    • 已标记为答案 黄昏 2009年8月4日 5:35
    2009年8月4日 5:34

全部回复

  • 你好你尝试不要用Literal控件 直接将object标签输出试试,因为这可能会导致/被替换


    Wenn ich dich hab’,gibt es nichts, was unerträglich ist.坚持不懈!http://hi.baidu.com/1987raymond
    2009年8月4日 3:22
    版主
  • ----------------------------------------------------------------------------
    -- web.config
    ----------------------------------------------------------------------------
    <appSettings>
    	<add key="XFlashURL" value="http://www.dookyweb.com/avatars.swf"/>
    </appSettings>
    ----------------------------------------------------------------------------
    -- .cs
    ----------------------------------------------------------------------------
    protected void Page_Load(object sender, EventArgs e)
    {
        Literal1.Text = string.Format("<embed src=\"{0}\" width=\"500\" height=\"500\"></embed>", System.Configuration.ConfigurationSettings.AppSettings["XFlashURL"]);
        // 或者
        //Literal1.Text = "<object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0\" width=\"500\" height=\"500\">"
        //+ string.Format("<param name=\"movie\" value=\"{0}\">", System.Configuration.ConfigurationSettings.AppSettings["XFlashURL"])
        //+ "<param name=\"quality\" value=\"high\">"
        //+ string.Format("<embed src=\"{0}\" quality=\"high\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" type=\"application/x-shockwave-flash\" width=\"500\" height=\"500\"></embed>", System.Configuration.ConfigurationSettings.AppSettings["XFlashURL"])
        //+ "</object>";
        // 或者在添加以下 HTML 代码
        // <embed src="<%=System.Configuration.ConfigurationSettings.AppSettings["XFlashURL"] %>" width="500" height="500"></embed>
    }


    知识改变命运,奋斗成就人生!
    2009年8月4日 3:54
    版主
  • 1,问题出在:你如何从配置文件中读取的配置?先打印出来
    2,建议不要使用中文路径
    3,确保读取后设置的相对路径是正确的。

    这3条解决了就没有不播放的道理了
    【孟子E章】
    2009年8月4日 5:26
    版主
  • 使用
    <%=str%>
    就无需使用asp:Literal控件了,直接写

    <object   classid="cls.....
    <param   name="movie"   value="<%=str %>"/>
    【孟子E章】
    2009年8月4日 5:28
    版主
  • 使用控件的方法
    <param   name="movie"   value='<asp:Literal ID="Literal2" runat="server"/>'/>

    cs
    Literal2.Text = str;
    【孟子E章】
    2009年8月4日 5:29
    版主
  • 中文路径简单  server.urlencode就好了
    答案900, 目标五颗星 Aurvana Air, 音乐真的是随风飘来的 凉宫春日 永无止境的八月 你到底什么时候结束阿。。。。
    2009年8月4日 5:29
  • 你好你尝试不要用Literal控件 直接将object标签输出试试,因为这可能会导致/被替换


    Wenn ich dich hab’,gibt es nichts, was unerträglich ist.坚持不懈!http://hi.baidu.com/1987raymond

    试过了,不用LITERAl控件可以。
    • 已标记为答案 黄昏 2009年8月4日 5:35
    2009年8月4日 5:34
  • ----------------------------------------------------------------------------
    -- web.config
    ----------------------------------------------------------------------------
    <appSettings>
    
    	<add key="XFlashURL" value="http://www.dookyweb.com/avatars.swf"/>
    
    </appSettings>
    
    
    ----------------------------------------------------------------------------
    -- .cs
    ----------------------------------------------------------------------------
    protected void Page_Load(object sender, EventArgs e)
    
    {
    
        Literal1.Text = string.Format("<embed src=\"{0}\" width=\"500\" height=\"500\"></embed>", System.Configuration.ConfigurationSettings.AppSettings["XFlashURL"]);
    
        // OR
    
        //Literal1.Text = "<object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0\" width=\"500\" height=\"500\">"
    
        //+ string.Format("<param name=\"movie\" value=\"{0}\">", System.Configuration.ConfigurationSettings.AppSettings["XFlashURL"])
    
        //+ "<param name=\"quality\" value=\"high\">"
    
        //+ string.Format("<embed src=\"{0}\" quality=\"high\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" type=\"application/x-shockwave-flash\" width=\"500\" height=\"500\"></embed>", System.Configuration.ConfigurationSettings.AppSettings["XFlashURL"])
    
        //+ "</object>";
    
    }
    
    


    知识改变命运,奋斗成就人生!

    搞定。谢谢了
    2009年8月4日 5:34