GridView 绑定视频播放器
- C# code
<asp:GridView ID="gvVideo" runat="server" AutoGenerateColumns="false" DataKeyNames="FilePath" > <Columns> <asp:TemplateField> <ItemTemplate> <table> <tr> <td> <div id="CuPlayer" style="margin-top: 20px;"> <strong>酷播迷你 (CuPlayerMiniV1.0)</strong> </div> </td> <td> 视频标题:<%#Eval("WorksName")%> </td> </tr> </table> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView>在绑定GridView时,要显示视频和视频标题,现在调用js显示视频,代码如下:
- JScript code
var so = new SWFObject("/js/CuPlayerMiniV20_Black_S.swf", "CuPlayer", "120", "85", "9", "#000000"); so.addParam("allowfullscreen", "true"); so.addParam("allowscriptaccess", "always"); so.addParam("wmode", "opaque"); so.addParam("quality", "high"); so.addParam("salign", "lt"); so.addVariable("CuPlayerFile", "<%=url%>"); so.addVariable("CuPlayerShowImage", "false"); so.addVariable("CuPlayerWidth", "120"); so.addVariable("CuPlayerHeight", "85"); so.addVariable("CuPlayerAutoPlay", "false"); so.addVariable("CuPlayerAutoRepeat", "false"); so.addVariable("CuPlayerShowControl", "true"); so.addVariable("CuPlayerAutoHideControl", "false"); so.write("CuPlayer");如今<%=url%>这个参数的调用是我在后台写死的。所以如果有三条数据,只有一条数据是有值的。
请问GridView中如何动态绑定这个视频的url呢。
[解决办法]
<%=url%> 这个值你都可以在后台绑定,为什么不可以在后台判断后再绑定呢?
[解决办法]
后台帮定
class.vidio=swf("ada.swf","","")
送要主个方法拿来改改
- C# code
/// <summary> /// swf格式 /// </summary> /// <param name="url"></param> /// <param name="width"></param> /// <param name="height"></param> /// <returns></returns> private static string swf(string url, int width, int height) { System.Text.StringBuilder sb = new System.Text.StringBuilder(); sb.Append("<OBJECT codeBase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0\" "); sb.Append(" height=\"" + height + "\" width=\"" + width + "\" >"); sb.Append("<PARAM NAME=\"FlashVars\" VALUE=\"\">"); sb.Append("<PARAM NAME=\"Movie\" VALUE=\"" + url + "\">"); sb.Append("<PARAM NAME=\"Src\" VALUE=\"" + url + "\">"); sb.Append("<PARAM NAME=\"WMode\" VALUE=\"Window\">"); sb.Append("<PARAM NAME=\"Play\" VALUE=\"-1\">"); sb.Append("<PARAM NAME=\"Loop\" VALUE=\"-1\">"); sb.Append("<PARAM NAME=\"Quality\" VALUE=\"High\">"); sb.Append("<PARAM NAME=\"SAlign\" VALUE=\"\">"); sb.Append("<PARAM NAME=\"Menu\" VALUE=\"0\">"); sb.Append("<PARAM NAME=\"Base\" VALUE=\"\">"); sb.Append("<PARAM NAME=\"AllowScriptAccess\" VALUE=\"always\">"); sb.Append("<PARAM NAME=\"Scale\" VALUE=\"ShowAll\">"); sb.Append("<PARAM NAME=\"DeviceFont\" VALUE=\"0\">"); sb.Append("<PARAM NAME=\"EmbedMovie\" VALUE=\"0\">"); sb.Append("<PARAM NAME=\"BGColor\" VALUE=\"\">"); sb.Append("<PARAM NAME=\"SWRemote\" VALUE=\"\">"); sb.Append("<PARAM NAME=\"MovieData\" VALUE=\"\">"); sb.Append("<PARAM NAME=\"SeamlessTabbing\" VALUE=\"1\">"); sb.Append("<embed src=\"" + url + "\" height=\"" + height + "\" width=\"" + width + "\" quality=\"high\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\"type=\"application/x-shockwave-flash\" menu=\"false\">"); sb.Append("</embed>"); sb.Append("</OBJECT>"); return sb.ToString(); }
[解决办法]
楼主可以用datalist来实现,我给你一个mp3的实例你看看:
- C# code
<asp:DataList ID="Mp3List" runat="server"> <ItemTemplate> [color=#FF0000] <div><%#Eval("Mp3name") %></div>//音频名称[/color] <div><object id="player" height="64" width="260" classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6"> <param NAME="AutoStart" VALUE="-1"> <!--是否自动播放--> <param NAME="Balance" VALUE="0"> <!--调整左右声道平衡,同上面旧播放器代码--> <param name="enabled" value="-1"> <!--播放器是否可人为控制--> <param NAME="EnableContextMenu" VALUE="-1"> <!--是否启用上下文菜单--> [color=#FF0000]<param NAME="url" value="<%#Eval("Mp3Url") %>"> //Mp3地址[/color]<!--播放的文件地址--> <param NAME="PlayCount" VALUE="1"> <!--播放次数控制,为整数--> <param name="rate" value="1"> <!--播放速率控制,1为正常,允许小数,1.0-2.0--> <param name="currentPosition" value="0"> <!--控件设置:当前位置--> <param name="currentMarker" value="0"> <!--控件设置:当前标记--> <param name="defaultFrame" value=""> <!--显示默认框架--> <param name="invokeURLs" value="0"> <!--脚本命令设置:是否调用URL--> <param name="baseURL" value=""> <!--脚本命令设置:被调用的URL--> <param name="stretchToFit" value="0"> <!--是否按比例伸展--> <param name="volume" value="50"> <!--默认声音大小0%-100%,50则为50%--> <param name="mute" value="0"> <!--是否静音--> <param name="uiMode" value="mini"> <!--播放器显示模式:Full显示全部;mini最简化;None不显示播放控制,只显示视频窗口;invisible全部不显示--> <param name="windowlessVideo" value="0"> <!--如果是0可以允许全屏,否则只能在窗口中查看--> <param name="fullScreen" value="0"> <!--开始播放是否自动全屏--> <param name="enableErrorDialogs" value="-1"> <!--是否启用错误提示报告--> <param name="SAMIStyle" value> <!--SAMI样式--> <param name="SAMILang" value> <!--SAMI语言--> <param name="SAMIFilename" value> <!--字幕ID--> </object> </div><div visiblity="hidden" ><marquee direction="up" onmousemove="this.stop()" onmouseout="this.start()" scrollAmount="2" style="width: 90%; height: 180px;" > <div visiblity="hidden"> [color=#FF0000] <%#Eval("Gc") %>// 歌词[/color] </div></marquee></div> </ItemTemplate> </asp:DataList>