2010-02-08 33 views
3

我想要将视频嵌入到对象标记中,并且希望从代码隐藏中放入参数的值。但我无法从代码隐藏中获得价值。任何想法我错了?从代码隐藏设置对象参数标记

这是我到目前为止的代码:

<object runat="server" id="object1"> 
    <param name="param1" value="www.youtube.com?id=123" runat="server" id="video1" /> 
    <param name="size" value="large" /> 
    <param name="category" value="wide" /> 
</object> 

我想改变的param1从代码隐藏的价值。

回答

4

尝试这种情况:

<object id="object1"> 
    <param name="<%= MyFunction() %>" value="www.youtube.com?id=123" id="video1" /> 
    <param name="size" value="large" /> 
    <param name="category" value="wide" /> 
</object> 

在后面的代码,例如:

protected string MyFunction() 
{ 
    return "param1Value"; 
} 

编辑:移除了RUNAT = “服务器” - 如果这些只是本使用的目的后面的代码来设置参数,它们对于这个解决方案来说是不必要的。

+1

我可能是错的,但我不认为你可以在设置为'RUNAT标签使用内联表达式= “服务器”'。您需要使用数据绑定语法,然后从代码隐藏中调用'DataBind()'。使用这个:'<%#MyFunction()%>'而不是'<%= MyFunction()%>' – 2010-02-08 17:41:24

+0

感谢您指出这一点,Dan。这个解决方案的“runat = server”属性是不必要的/不适用的 – 2010-02-08 17:46:45

+1

@Dan ...虽然如我修改后的回答 – 2010-02-08 17:49:17

0

根据您的标记我想你可以通过ID访问它,比如:

video1.Attributes["value"] = "some value"; 

我从来没有使用服务器端param标记,但这样有可能在发挥作用等问题..