0

我创建了自己的验证控制器,以使用我自己的用户控件。

我的问题 :

经典验证器接受“设计视图”中的参数,例如

<asp:RequiredFieldValidator ControlToValidate="txtFirstname" runat="server" />

我想在我的控件中做同样的事情,但是当我传递“ControlToValidate”一个控件 ID 时,它会出现,我收到这个错误:

无法从“ControlToValidate”属性的字符串表示“txtFirstname”创建“System.Web.UI.WebControls.WebControl”类型的对象。

我需要实现什么“模式”以确保我可以充分利用我的“ascx”页面,而不必在我的“ascx.cs”代码隐藏页面中连接所有内容。

ps 我将在“ascx”页面上创建的“标签”称为“设计视图”,但我认为这可能是错误的术语,我怀疑这是我在谷歌上找不到任何东西的一半原因。

4

1 回答 1

0

您的代码应该看起来像这样(全部在 中.ascx):

<asp:TextBox id="txtFirstName" 
      Text="Enter a value" 
      runat="server"/>

 <asp:RequiredFieldValidator id="RequiredFieldValidator1"  
      ControlToValidate="txtFirstName"
      Text="Required Field!" 
      runat="server"/>

我猜你没有把它RequiredFieldValidator放在同一个范围内 - 导致这个问题。

于 2012-06-11T17:20:02.863 回答