在asp.net中在运行时添加标签

时间:2012-07-26 13:59:35

标签: asp.net textbox runtime label

我在asp.net中创建自定义文本框控件。我在文本框中为字母,数字和电子邮件地址放置了一些内置验证。现在我想要,如果这些验证中的任何一个失败,标签(错误标签)应该在文本框下面动态添加。

有可能吗?

由于

3 个答案:

答案 0 :(得分:0)

不要添加标签,而是添加CustomValidator(或其他验证器之一)。

如果您希望仅在检测到错误时才显示该属性,请将其Display属性设置为动态。

答案 1 :(得分:0)

您不需要单独的标签,ASP.NET中的每个Validator都可以获得一个可以显示在文本框旁边的ErrorMessage

拥有从BaseValidator继承的look at the list of validators,它将为您提供执行此操作所需的一切

如果您坚持要使用自己的验证,并且正在使用客户端JavaScript进行验证,那么请创建类似以下的内容......

<asp:Label runat="server" id="lblErrors" style="display:none;">
  You have errors!
</asp:Label>

然后在验证器中......

document.getElementById("<%=lblErrors.ClientID%>").style.display = 
  (anyErrors ? "" : "none");

如果您的验证都是在服务器上完成的,那么请使用......

<asp:Label runat="server" id="lblErrors" Visible="false">
  You have errors!
</asp:Label>

然后在验证器中......

lblErrors.Visible = anyErrors

(如果未进行验证,您还需要确保lblErrors.Visible也设置为false

答案 2 :(得分:0)

也可能ValidationSummary控件对你有用。

ValidationSummary on MSDN