วันศุกร์ที่ 1 ธันวาคม พ.ศ. 2560

วิธีการส่งค่าแบบ Ajax ผ่าน JQuery ไปยัง server side ด้วย Asp.net

<form id="form1" runat="server">

                <label>ชื่อ-สกุล:</label>
                <asp:TextBox ID="txtFullName" runat="server" Width ="250" ></asp:TextBox>

                <label>ชื่อเรียก:</label>
                <asp:TextBox ID="txtNicName" runat="server" Width ="250"></asp:TextBox>

                <label>การศึกษา:</label>
                <asp:DropDownList ID="ddl_education" runat="server"   Width ="250" >
                    <asp:ListItem Text="1. ประถมศึกษา" Value="1"></asp:ListItem>
                    <asp:ListItem Text="2. มันธยมศึกษา" Value="2"></asp:ListItem>
                    <asp:ListItem Text="3. ปริญญาตรี" Value="3"></asp:ListItem>
                    <asp:ListItem Text="4. ปริญญาเอก" Value="4"></asp:ListItem>
                </asp:DropDownList>

            <asp:Button ID="btnOK" runat="server"  OnClientClick="return false;"
                Text="บันทึก" />


    </form>


  
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
    <script type = "text/javascript">

        $("#<%=btnOK.ClientID%>").click(function () {
            doSaveData();
        });

       
        function doSaveData() {
          
            var _fullName = document.getElementById('<%=txtFullName.ClientID%>').value;
            var _education = document.getElementById('<%=ddl_education.ClientID%>').value;
            var _nicName = document.getElementById('<%=txtNicName.ClientID%>').value;

            $.ajax({
                type: 'POST',
                url: '/ajax_client_to_code.aspx/saveData',
                contentType: 'application/json; charset=utf-8',
                data: JSON.stringify({
                    fullName: _fullName,
                    education: _education,
                    nicName: _nicName
                }),
                dataType: 'json',
                success: OnSuccess
            });

        }

        function OnSuccess(response) {
            document.getElementById("<%=btnOK.ClientID%>").innerHTML = 'บันทึกข้อมูลแล้ว';        
               // window.location.href = "";
        }


</script>


***************** VB.NET Code ***********************

Public Class ajax_client_to_code
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

    End Sub

<System.Web.Services.WebMethod()>
    Public Shared Function saveData(fullName As String, education As String, nicName As String) As String
        Dim result As String = "ok"

        Return result
    End Function

End Class

การใช้ WebClient สำหรับเรียก URL

Dim _url As String = " https :// www . MyDomain . com /?q=ทดสอบ " Dim wc As New System . Net . WebClient () wc . Encodin...