当代码没有返回布尔值时,webmethod没有返回';不要改变
本文关键字:返回 改变 代码 布尔值 webmethod | 更新日期: 2023-09-27 17:59:31
我的代码今天在dev中停止了工作,但在服务器上发布的版本上它仍然可以工作。这是我的代码:
<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中添加断点时,"result"包含"'r'n<!DOCTYPE html PUBLIC...rm>'r'n</body>'r'n<html>"
而不是"false"。在发布的版本中,它包含false。
确保您已经注册了知道如何处理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方法。