【发布时间】:2009-05-14 14:46:52
【问题描述】:
由于未知原因,我有 1 个页面无法通过 ID 访问任何组件。
这里有一些信息。该页面使用 asp:Content,因为该网站使用 MasterPage。在 asp:Content 中,此页面有一个 asp:FormView,其中包含一些我无法从 CodeBehind 访问的数据。
这是页面声明:
这是后面页面中无法编译的代码:
protected void FormView1_PreRender(object sender, EventArgs e)
{
DateBirthdayValidator.MaximumValue = DateTime.Now.Date.ToString("dd-MM-yy");
}
这是错误:
错误 2 当前上下文中不存在名称“DateBirthdayValidator”
我在谷歌上搜索过,我得到了一些关于使用 FindControl 的答案,但它不起作用。有什么想法吗?
编辑1:
我可以访问 FormView1 组件,但不能访问 EditItemTemplate 中的验证器。如何访问 EditTemplate 中的控件?
编辑2:
如果我尝试:FormView1.FindControl("DateBirthdayValidator") 它会编译但总是返回 null。所以仍然不起作用,但至少我可以访问 FormView1...
【问题讨论】:
-
使用相同母版页的其他页面可以正常工作吗?
-
是的,但他们没有 FormView... 但是是的,我可以从其他页面访问其他组件。这个页面有问题:S