在asp.net中调用JQuery中的服务器端方法

时间:2009-10-31 09:58:45

标签: asp.net jquery pagemethods

在我的应用程序中,我有一个用户首先输入用户名的表单。现在我应该检查该用户名是否可用,我有一个方法“用户名”,这样做返回true或false作为返回类型。 在这里我正在使用jQuery与ajax来实现这个概念。 一旦用户输入此名称,当他去第二个文本框输入时,该代码应该被执行并将结果作为弹出[moda popup]给他。如果返回值为true,方法“username”从用户名已经在使用中需要显示消息“username alredy in use” 如果返回值为false“无需显示”

现在我的代码看起来像这样

<head>
  <title>Calling an ASP.NET Page Method with jQuery</title>
  <script type="text/javascript" src="jquery-1.2.6.min.js"></script>
<script type="text/javascript">

      $(document).ready(function() {    
          $.ajax({    
              type: "POST",    
              url: "Default.aspx/Username",    
              contentType: "application/json; charset=utf-8",    
              data: "{}",    
              dataType: "json",    
              success: OnSuccess,    
              error: OnFailure    
          });    
    });

      function OnSuccess(result) 
      {
         // so  here i need   to  check  whethere  true  or false
         // based on that i need   to  show  modal  pop  up
          alert("Success!");    
      }

      function OnFailure (result)    
      {
          alert("The call to the page method failed.");    
      }    
  </script>    
</head>

对此的任何解决方案都会很棒 谢谢

1 个答案:

答案 0 :(得分:2)

<asp:TextBox id="txtUserName" runat="server"/>
<div id="divPrompt" style="display:none">User Name alredy in use</div>
<input id="otherText"...../>

<script type="text/javascript">
$(document).ready(function(){
    $("#<%= txtUserName.ClientID%>").blur(function(){
       $.ajax({    
              type: "POST",    
              url: "Default.aspx/Username",    
              contentType: "application/json; charset=utf-8",    
              data: "{}",    
              dataType: "json",    
              success: function (msg){
                  if(msg.hasOwnProperty("d")){
                     OnSuccess(msg.d);
                  } else{
                     OnSuccess(msg);
                  }
              },
              error: OnFailure
          });    
    });
});

  function OnSuccess(result) 
  {
     if(result.UserNameInUser)
       $("div#divPrompt").show();
     else
       $("div#divPrompt").hide();
  }

  function OnFailure (result)    
  {
      alert("The call to the page method failed.");    
  }    
</script>