首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用类查找HtmlGenericControl

如何使用类查找HtmlGenericControl
EN

Stack Overflow用户
提问于 2012-10-17 13:24:06
回答 4查看 3.2K关注 0票数 0

我正在尝试找出如何在我的主.aspx页面中找到一个类的"div“,这是可能的吗?如果是这样的话,是怎么做的?我试过下面的代码,但不起作用

代码语言:javascript
复制
HtmlGenericControl step1 = (HtmlGenericControl)Page.FindControl("step1")

我知道这是我在代码隐藏文件中做这件事的方式,但在这种情况下,我想从一个类文件中做这件事。

提前谢谢你。

基本上我试图实现的是这样的,我在我的页面中有多个runtat=“服务器”visible=“假”,当满足某些条件时,我希望能够将visible=更改为“真”。我将这个场景放在多个页面中,所以我希望能够创建一个类并检查其中的条件,并通过这种方式使div可见或不可见

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-10-17 13:32:07

div元素必须具有服务器“runat=”属性:

代码语言:javascript
复制
<body>
  <form id="form1" runat="server">
    <div id="step1" runat="server"></div>
  </form>
</body>

现在,您可以在单独的类中找到具有方法的控件,该类是从页面的代码隐藏类中调用的:

代码语言:javascript
复制
public partial class _Default : System.Web.UI.Page
{
  protected void Page_Load(object sender, EventArgs e)
  {
    Class1 class1 = new Class1();
    class1.FindDiv(this);
  }
}

分隔的类:

代码语言:javascript
复制
public class Class1
{
  public HtmlGenericControl FindDiv(Page page)
 { 
    HtmlGenericControl step1 = (HtmlGenericControl)page.FindControl("step1");
    return step1;
 }
}
票数 1
EN

Stack Overflow用户

发布于 2012-10-17 13:29:03

如果你使用ASP Panel而不是div,你可以访问它并且Panel呈现为div。如果你给一个div提供了runat=“服务器”,你应该能够访问它。

票数 0
EN

Stack Overflow用户

发布于 2012-10-17 13:32:21

如果它不是服务器端控件,则无法执行此操作。

如果是HTML控件,则需要将runat="server"属性设置为div,以便在后面的代码中找到它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12927614

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档