2010-02-08 71 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標記,但這樣有可能在發揮作用等問題..