从后面的代码中找到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");