Вы имеете в виду, что вы буквально хотите запретить им вводить текст href="
в TextBox или вы хотите запретить URL? В любом случае, RegexValidator является одним из решений:
На самом деле, насколько я знаю, не очень простой способ использовать валидатор OOTB-регулярных выражений для создания отрицательного содержимого (т. Е. "Потерпеть неудачу, если есть совпадение"). Кто-то умнее может исправить меня. Но вы определенно можете использовать собственный валидатор:
<asp:TextBox runat="server" id="myTextBox" />
<asp:CustomValidator runat="server" OnServerValidate="ValidateNoUrls" ControlToValidate="myTextBox" ErrorMessage="URLs not allowed" />
Codebehind:
protected void ValidateNoUrls(object sender, ServerValidateEventArgs e)
{
e.IsValid = !Regex.IsMatch(e.Value, @"(ht|f)tp(s?)\:\/\/[0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*(:(0-9)*)*(\/?)([a-zA-Z0-9\-\.\?\,\'\/\\\+&%\$#_]*)?");
}