Следующий код .NET 3.5, помещенный в файл aspx, вызовет ошибку JavaScript при загрузке страницы (для пользователей, у которых включен JavaScript):
<noscript>
<asp:TextBox ID="txt" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="txt_RequiredFieldValidator" runat="server"
ControlToValidate="txt"></asp:RequiredFieldValidator>
<asp:Button ID="btn" runat="server" Text="Button" />
</noscript>
Ошибка возникает из-за того, что JavaScript, созданный элементом управления ASP.NET validator, не содержит нулевую проверку перед второй строкой кода ниже:
var ctl00_body_txt_RequiredFieldValidator =
document.all ?
document.all["ctl00_body_txt_RequiredFieldValidator"] :
document.getElementById("ctl00_body_txt_RequiredFieldValidator");
ctl00_body_txt_RequiredFieldValidator.controltovalidate = "ctl00_body_txt";
Может кто-нибудь предложить решение этой проблемы?
<ч />
Сноска: Почему я это делаю? Для моих пользователей, не поддерживающих JavaScript, я заменяю некоторые функции AJAX другими компонентами пользовательского интерфейса, которые нуждаются в проверке.