我的.acsx中定义了一个ASP.NET控件,服务器端的一些代码在我的.cs中检查它,如果数据输入无效,则创建一个新的自定义验证器。
我正在尝试在控件旁边显示错误消息,但我无法将ControlToValidate
属性设置为控件的ID
。 Visual Studio突出显示ContactTelephoneTextBox
并显示错误:
无法转换来源类型
这是.cs
中的自定义验证程序Page.Validators.Add(new CustomValidator()
{
Display = ValidatorDisplay.Dynamic,
ControlToValidate = ContactTelephoneTextBox,
ID = "phoneInvalid",
IsValid = false,
ErrorMessage = "Please enter a valid phone number.",
field",
});
在我的.ascx
中<div id="ContactTelephone">
<asp:Label ID="ContactTelephoneLabel" AssociatedControlID="ContactTelephoneTextBox"
CssClass="required formFont2015 formLabel2015" runat="server">Contact number</asp:Label>
<asp:TextBox ID="ContactTelephoneTextBox" CssClass="boxStyle2015" runat="server"></asp:TextBox>
</div>
答案 0 :(得分:0)
ControlToValidate
期望字符串不是控件,所以这应该有效:
Page.Validators.Add(new CustomValidator()
{
Display = ValidatorDisplay.Dynamic,
ControlToValidate = ContactTelephoneTextBox.ClientID,
ID = "phoneInvalid",
IsValid = false,
ErrorMessage = "Please enter a valid phone number.",
field",
});