我设计了带有标签的页面,现在我想在后面的代码中访问对象标签。
这是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
答案 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">
因为它现在在服务器上运行,你可以从
后面的代码访问