如何在aspx.cs页面中访问对象标签?

时间:2011-03-02 12:24:52

标签: asp.net html object

我设计了带有标签的页面,现在我想在后面的代码中访问对象标签。

这是aspx页面代码....

<object type="label" runat="server" class="System.Web.UI.WebControls.Label" id="label_priority" parent="-1" bindedfield="priority" empty="1" value="MyValue">

在这里,我在对象标记中添加了runat=server,它正在提供错误

"An object tag must contain a Class, ClassID or ProgID attribute."

然后我添加了class="System.Web.UI.WebControls.Label",现在没有给出任何错误,但没有在浏览器中显示任何内容。

所以我的问题是如何访问aspx.cs页面中的对象标签? 要么 我想创建一个带有object标签的标签,可以在后面的代码中访问。

Sujeet

3 个答案:

答案 0 :(得分:4)

当&lt; object /&gt;上有runat =“server”时或者&lt; script /&gt; tag,.NET期望它是服务器端对象。但是,您可以在服务器端创建整个标记。假设您的页面中有<div id="somecontainer" runat="server"></div>

protected void Page_Load(object sender, EventArgs e) 
{
    HtmlGenericControl myObject = new HtmlGenericControl();
    myObject.TagName = "object";
    myObject.Attributes.Add("data", "somevideo.mpeg");
    Page.FindControl("somecontainer").Controls.Add(myObject);
}

结果是:

<div id="somecontainer"><object data="somevideo.mpeg"></object></div>

您可以使用相同的方法在对象内添加元素,例如&lt; param /&gt;标签

答案 1 :(得分:0)

如果你想在页面加载中访问它,你可以在页面加载事件中使用下面的代码:

ScriptManager.RegisterStartupScript(Page,Page.GetType(), "Script", "document.getElementById('DIVID').style.display='none'",true);

这里我们正在更改div的显示属性。您可以根据需要进行更改。

希望这会对你有所帮助。

答案 2 :(得分:0)

你可以做这样的事情

<object id="items" class = "System.Collections.ArrayList"  runat="server">

因为它现在在服务器上运行,你可以从

后面的代码访问