我正在试图弄清楚如何找到一个“div”,它位于我的主要.aspx页面中,这可能吗?如果是这样的话?我已经尝试了下面的代码但是没有工作
HtmlGenericControl step1 = (HtmlGenericControl)Page.FindControl("step1")
我知道这是我在代码隐藏文件中执行此操作的方式,但在这种情况下,我想从类文件中执行此操作。
提前谢谢。
基本上我想要完成的是这个,我在我的页面中有多个div所有的runtat =“server”visible =“false”当满足某些条件时我希望能够更改visible = “真正”。我有多个页面中的这个场景,所以我希望能够创建一个类并检查那里的条件,通过这种方式使div可见或不可见
答案 0 :(得分:1)
div元素必须具有runat =“server”属性:
<body>
<form id="form1" runat="server">
<div id="step1" runat="server"></div>
</form>
</body>
现在,您可以在一个单独的类中找到一个方法,该方法是从页面后面的代码类中调用的:
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Class1 class1 = new Class1();
class1.FindDiv(this);
}
}
分类:
public class Class1
{
public HtmlGenericControl FindDiv(Page page)
{
HtmlGenericControl step1 = (HtmlGenericControl)page.FindControl("step1");
return step1;
}
}
答案 1 :(得分:0)
如果你使用ASP面板代替div,你可以访问它,而面板渲染为div。如果你给runat =“server”一个div你应该能够访问它。
答案 2 :(得分:0)
如果它不是服务器端控件,则不能这样做。
如果是HTML控件,则需要将runat="server"
属性设置为div,以便在后面的代码中找到它。
答案 3 :(得分:0)
尝试
HtmlGenericControl div = (HtmlGenericControl)this.FindControl("div1");
注意:为了使这段代码有效,你需要在aspx页面上有runat =“server”属性。