【问题标题】:Where is my validator?我的验证器在哪里?
【发布时间】:2011-03-02 01:01:24
【问题描述】:

我的页面中有一个验证器:

<asp:RequiredFieldValidator ID="rfv1" runat="server" ControlToValidate="IdentifySEDSED1TxtDate" ErrorMessage="Significant Event Date 1 is missing" ValidType="SEDate">*</asp:RequiredFieldValidator>

我在 Page_Load 中发现:(下面是 Watch Window 的屏幕截图)

this.FindControl("rfv1")    {Text = "*"}    

rfv1    The name 'rfv1' does not exist in the current context

看,我可以用 FindControl 来获取这个控件,但是我不能直接使用 ID 来获取它!会发生什么?

【问题讨论】:

  • 不确定它是否适用于此处,但我在编写 C# win 表单时遇到了类似的问题:当我声明一个变量并对其进行初始化时,监视窗口给出了与您相同的消息,但是当我实际使用过,一切都很好,它显示了价值。
  • 您的验证器是否在 FormView 中?

标签: c# asp.net validation findcontrol


【解决方案1】:

如果您在页面上查找面板,则需要在页面的表单中找到它们,因为面板放置在表单内,而不是直接放在页面上。

至少我认为这是问题所在......

这行得通吗:

this.Form.FindControl(rfv1);

【讨论】:

  • 其实FindControl(id)可以得到这个控件,而直接使用ID则不行。
  • 文件背后的代码和页面标记到底是什么样的?您是否在 Page_Load 中放置作业?
  • 你在使用 Visual Web Developer
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-09
  • 2012-09-17
  • 2019-12-03
  • 2015-01-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多