从后面的代码中找到div标签
这是div标签。 我想从后面的代码中找到对此标记的控制,然后我想删除“活动”类
注意:
-
Div不包含runat =“server”标签。
-
这不是主页文件,但这是另一个名为“AssignImages.aspx”的文件,它包含ContentPlaceHolder。
Div位于此contentplaceholder内。
如果要从后面的代码中找到控件,则必须在控件上使用runat="server"
属性。 然后你可以使用Control.FindControl
。
Control myControl1 = FindControl("portlet_tab1"); if(myControl1!=null) { //do stuff }
如果您使用runat服务器并且您的控件位于ContentPlaceHolder
您必须知道ctrl名称将不再是portlet_tab1。 它将使用ctrl00格式呈现。
类似的东西:#ctl00_ContentPlaceHolderMain_portlet_tab1。 如果使用jquery,则必须修改名称。
您也可以在客户端使用jQuery而不使用runat-server属性来执行此操作:
您需要将其强制转换为HtmlControl才能访问Style属性。
HtmlControl control = (HtmlControl)Page.FindControl("portlet_tab1"); control.Style.Add("display","none");
@CarlosLanderas是正确的,具体取决于您放置DIV控件的位置。 顺便说一句,DIV在技术上并不是一个ASP控件,这就是为什么你不能像其他控件一样直接找到它。 但最好的解决方法是将其转换为ASP控件。
请改用asp:Panel。 无论如何它被渲染成
标签……
在后面的代码中,只需按正常方式找到Panel控件…
Panel DivCtl1 = (Panel)gvRollCall.FooterRow.FindControl("divSubmitted"); if (DivCtl1 != null) DivCtl1.Visible = true;
请注意我已经使用了FooterRow,因为我的“psuedo div”位于Gridview控件的页脚行内。
好编码!
您使用以下代码将div作为服务器控件,
然后这个div将在后面的代码中访问。
将ID
和属性runat='server'
赋予:
// somecode Codebehind:
在代码后面访问
Control Test = Page.FindControl("portlet_tab1"); Test.Style.Add("display", "none"); or portlet_tab1.Style.Add("display", "none");