c# - 在 C#/ASP.Net 中以编程方式添加对象或更改其参数

标签 c# asp.net object windows-media-player

我想将 Windows Media Player 嵌入到我的 ASP.NET 页面中。我用这段代码来做,效果很好:

<OBJECT id='mediaPlayer1' width="180" height="50" 
classid='CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95' 
codebase='http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701'
standby='Loading Microsoft Windows Media Player components...' type='application/x-oleobject'>
<param name='fileName' value="http..">
<param name='animationatStart' value='true'>
<param name='transparentatStart' value='true'>
<param name='autoStart' value="false">
<param name='showControls' value="true">
<param name ="ShowAudioControls"value="true">
<param name="ShowStatusBar" value="true">
<param name='loop' value="false">
<EMBED type='application/x-mplayer2'
pluginspage='http://microsoft.com/windows/mediaplayer/en/download/'
id='mediaPlayer' name='mediaPlayer' displaysize='4' autosize='-1' 
bgcolor='darkblue' showcontrols="true" showtracker='-1' 
showdisplay='0' showstatusbar='-1' videoborder3d='-1' width="420" height="380"
src="http..."    
autostart="true" designtimesp='5311' loop="false">
</EMBED>
</OBJECT>

我的问题是,我想更改后面代码中的 url(如 here 但它是在 VB 中,而不是 C# 中),因为我从数据库中加载了 URL。那么有没有一种方法,我可以在我的 c# 部分中添加此代码,或者更好的是从 c# 部分访问 url?

抱歉,如果这是一个愚蠢的问题,但我现在搜索了几个小时..还有 this.FindControl(mediaPlayer1);不起作用。

最佳答案

重写Render方法。
编辑它以满足您的要求。

    protected override void Render(HtmlTextWriter writer)
    {
        StringBuilder stringBuilder = new StringBuilder("<OBJECT " 
            +"ID='" +this.ClientID + "' "
            + "name='" + this.ClientID + "' "
            +"CLASSID='CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6'" 
            +"VIEWASTEXT"
            );
        stringBuilder.Append("<PARAM name='autostart' value='false'>");
        stringBuilder.Append("<PARAM name='autoplay' value='false'>");

        stringBuilder.Append("<PARAM name='URL' value='/" + fileUrl + "/" + selectedFile + "'>");

        stringBuilder.Append("<PARAM name='rate' value='1'>");
        stringBuilder.Append("<PARAM name='balance' value='0'>");
        stringBuilder.Append("<PARAM name='enabled' value='true'>");
        stringBuilder.Append("<PARAM name='enabledContextMenu' value='true'>");
        stringBuilder.Append("<PARAM name='fullScreen' value='false'>");
        stringBuilder.Append("<PARAM name='playCount' value='1'>");
        stringBuilder.Append("<PARAM name='volume' value='100'>");
        stringBuilder.Append("</OBJECT>");

        divWindowsMediaPlayer.InnerHtml = stringBuilder.ToString();

        base.Render(writer);
    }

关于c# - 在 C#/ASP.Net 中以编程方式添加对象或更改其参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12843653/

相关文章:

c# - 将图形对象转换为位图

asp.net - 使用 Signalr 拥有一个类似 facebook 的通知系统

C# 设计模板容器?

java - 对象被覆盖

c# - 在 datagridview 列中包含的按钮上添加一个事件

c# - 如何查看帖子数据

c# - 在 C# 中将两个值相除时如何获得整数商?

c# - 如何注册 Javascript 函数以在每次回发时运行?

javascript - 对于空对象给出 TypeError : Cannot convert undefined or null to object

java - 反序列化对象的Arraylist