我的代码今天在开发中停止了工作,但是在服务器上发布的版本上,它仍在运行。 这是我的代码:
<WebMethod()> _
Public Shared Function UserNameExists(ByVal email As String) As Boolean
Return False
End Function
<script type="text/javascript">
function EmailExists() {
var email = document.getElementById("txtMail").value;
PageMethods.UserNameExists(email, EmailExistsCallback);
}
function EmailExistsCallback(result) {
if (result == false) {
emailError.style.visibility = 'hidden';
}
else {
emailError.style.visibility = 'visible';
}
}
</script>
<asp:TextBox ID="txtMail" runat="server" MaxLength="300" CssClass="input2" Width="244px"></asp:TextBox>
<asp:CustomValidator ID="cvmail" runat="server" ForeColor="Red" ControlToValidate="txtMail" ClientValidationFunction="EmailExists"></asp:CustomValidator>
<span style="visibility: hidden; color: Red; float: right" id="emailError">error.</span>
当我在Firefox F12中添加断点时,“结果”包含"\r\n<!DOCTYPE html PUBLIC...rm>\r\n</body>\r\n<html>"
而不是“false”。在发布的版本中,它包含false。
答案 0 :(得分:0)
确保您已注册了解如何处理WebMethod请求的相应处理程序。这应该在你的web.config中:
<system.web>
<httpModules>
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</httpModules>
</system.web>
如果您已将其删除或导致其被覆盖,那么您的ASP.NET应用程序将不知道如何采取特殊步骤来运行Web方法。