Специфика проекта заключается в использовании библиотеки Enterpise для проверки на стороне сервера и jQuery для проверки на стороне клиента. Итак, у меня есть следующая простая форма, например:
<asp:Content ID="_mainContent" ContentPlaceHolderID="MainContent" runat="server">
<script src="../../../Scripts/jquery-1.3.2.js" type="text/javascript"></script>
<script src="../../../Scripts/jquery.validate.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#aspnetForm").validate({
rules: {
"<%= _txtProjectName.UniqueID %>": {
required: true
}
}
});
});
</script>
<asp:TextBox ID="_txtProjectName" runat="server" CssClass="textBoxWithValidator_long" />
<entlib:PropertyProxyValidator id="_validatorProjectName" runat="server" ControlToValidate="_txtProjectName"
PropertyName="ProjectName" SourceTypeName="LabManagement.Project.Project" />
<asp:Button CssClass="cell_InlineElement" ID="_btnSave" runat="server" Text="Save" onclick="_btnSave_Click"
Width="50px" />
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true">
</asp:ScriptManager>
</asp:Content>
Проблема заключается в следующем: проверка на стороне клиента работала правильно, прежде чем мне нужно было реализовать некоторые функции AJAX.NET. Поэтому я должен добавить на страницу ScriptManager (две последние строки в коде). Но после этого возникла следующая ситуация:
В InternetExplorer ((7) - только в IE !!! - в Firefox все работает правильно) после нажатия кнопки «Сохранить», если оставить текстовое поле ProjectName пустым, появится проверка jquery на стороне клиента, но (!) Страница будет отправлена сервер в любом случае.
Некоторые заметки:
- Если удалить PropertyProxyValidator со страницы - проверка на стороне клиента работает корректно в IE, но она мне нужна для конкретного проекта.
- Кажется, что проблема в функции WebForm_OnSubmit (), которая вставляется в форму после добавления PropertyProxyValidator. (...
<form name="aspnetForm" method="post" action="Project.aspx?TransType=NewProject" onsubmit="javascript:return WebForm_OnSubmit();" ...>
)
Может кто-нибудь помочь, пожалуйста.