Showing posts with label PageMethods. Show all posts
Showing posts with label PageMethods. Show all posts

Sunday, July 10, 2011

How to Get return value or any value from server side (Code behind) to client side(Javascript) by using AJAX page method concept:

We can Get Return value or any value from to server side (Code behind) to client side(Javascript) by using AJAX page method concept:

Place script manager in a webpage  and
Here we need to enable "EnablePageMethods" Property of ScripManager.


 <asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true" >
    </asp:ScriptManager>

Then we need to attach event to the particular return value function


Default.aspx:
==========

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SearchUser.aspx.cs" Inherits="Wizard.SearchUser" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title></title>
<script type="text/javascript" language="javascript">
   function ValidateEmailAddress_Result(ResultString) 

       {
           var emailAddressErrMsg = document.getElementById("emailAddressErrMsg");
           var btnNextAdd = document.getElementById('<%=btnNext.ClientID %>'); 
           var emailAddressExist = ResultString;
           if (emailAddressExist == 1) 
           {
               emailAddressErrMsg.innerHTML = "Entered email address Already exist.";
               emailAddressErrMsg.style.display = 'inline';
               btnNextAdd.disabled = true;
              
           }
           else 
           {
               emailAddressErrMsg.style.display = 'none';
               btnNextAdd.disabled = false;
           }
       }

        function CheckEmailAddress(src) 
        {
            PageMethods.ValidateEmailAddress(src.value, ValidateEmailAddress_Result);
        }
</script>

</head>
<body>
    <form id="form1" runat="server">
 <asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true" >
    </asp:ScriptManager>
    <div>
     
 <asp:TextBox runat="server" ID="txtEmailAddress" Width="250px" 
 AutoCompleteType="Email"  onBlur="CheckEmailAddress(this);"></asp:TextBox>
 <div class="errMessage" id="emailAddressErrMsg" style="display:none;">
                                    *Please enter a Email Address.
                                    </div>

<asp:Button ID="btnNext" runat="server" Text="Submit"  />
    </div>
    </form>
</body>
</html>

Default.aspx.cs:
===========

[System.Web.Services.WebMethod]
        public static int ValidateEmailAddress(string emailAddress)
        {
            try
            {
                int emailAddresscount = CheckEmailAddressExist(emailAddress);
                if (emailAddresscount > 0)
                {
                    return 1;
                }
                else
                {
                    return 0;
                }
            }
            catch { return 0; }
        }

How to send control value or any value from client side(Javascript) to server side (Code behind) by using AJAX page method concept:

We can send control value or any value from client side(Javascript) to server side (Code behind) by using AJAX page method concept:

Place script manager in a webpage  and
Here we need to enable "EnablePageMethods" Property of ScripManager.


 <asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true" >
    </asp:ScriptManager>


Default.aspx:
==========

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SearchUser.aspx.cs" Inherits="Wizard.SearchUser" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title></title>
<script type="text/javascript" language="javascript">
 function startSearch(val) {
    
            PageMethods.SendValueToServerSide(val);


        }
</script>

</head>
<body>
    <form id="form1" runat="server">
 <asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true" >
    </asp:ScriptManager>

    <div>
     
        <asp:TextBox ID="txtval" runat="server"></asp:TextBox>

<asp:Button ID="btnSearchInput" runat="server" Text="SendSearchInput" OnClientClick="
startSearch('

txtval.value'
)
" />
    </div>
    </form>
</body>
</html>

Default.aspx.cs:
===========

[System.Web.Services.WebMethod]


  public static void SendValueToServerSide(string  clientsidevalue)
  {      
        string searchinputfromclientside = clientsidevalue;
  }