我已经创建了自己的验证控制器,以使用我自己的用户控件。
我的问题:
经典验证器接受“设计视图”中的参数,例如
<asp:RequiredFieldValidator ControlToValidate="txtFirstname" runat="server" />
并且我想在我的控件中执行相同操作,但是当我将'ControlToValidate'传递给控件ID时出现,我收到此错误:
无法创建“System.Web.UI.WebControls.WebControl”类型的对象 从它的字符串表示'txtFirstname' 'ControlToValidate'属性。
我需要实现什么样的模式才能确保我能充分利用我的'ascx'页面,而不必在我的'ascx.cs'代码隐藏页面中连接所有内容。
P.S。我在“ascx”页面的“设计视图”中调用了我创建的“标签”,但我认为这可能是错误的术语,我怀疑这是我无法在Google上找到任何标志的原因的一半。
答案 0 :(得分:0)
您的代码应该看起来像这样(全部在.ascx
):
<asp:TextBox id="txtFirstName"
Text="Enter a value"
runat="server"/>
<asp:RequiredFieldValidator id="RequiredFieldValidator1"
ControlToValidate="txtFirstName"
Text="Required Field!"
runat="server"/>
我猜你不将RequiredFieldValidator
置于同一范围内 - 导致此问题。