<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>
<%@ Register assembly="DevExpress.Web.ASPxEditors.v8.3, Version=8.3.2.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" namespace="DevExpress.Web.ASPxEditors" tagprefix="dxe" %>
<%@ Register assembly="DevExpress.Web.v8.3, Version=8.3.2.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" namespace="DevExpress.Web.ASPxCallbackPanel" tagprefix="dxcp" %>
<%@ Register assembly="DevExpress.Web.v8.3, Version=8.3.2.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" namespace="DevExpress.Web.ASPxPanel" tagprefix="dxp" %>
<%@ Register assembly="DevExpress.Web.v8.3, Version=8.3.2.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" namespace="DevExpress.Web.ASPxDataView" tagprefix="dxdv" %>


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

<script runat="server">
    protected void Page_Load(object sender, EventArgs e){
        if (!IsCallback)
            ASPxCallbackPanel1.HideContentOnCallback = true;
    }
    protected void ASPxCallbackPanel1_Callback(object source, DevExpress.Web.ASPxClasses.CallbackEventArgsBase e) {
        AccessDataSource2.SelectParameters["EmployeeID"].DefaultValue = e.Parameter;
    }
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <asp:AccessDataSource id="AccessDataSource1" runat="server" DataFile="~/App_Data/nwind.mdb" SelectCommand="SELECT [EmployeeID], [FirstName] + ' ' + [LastName] AS [Name]
     FROM [Employees]
     ORDER BY 2"></asp:AccessDataSource>
    <dxe:ASPxListBox id="ASPxListBox1" ValueField="EmployeeID" ClientInstanceName="ListBox" BackColor="Transparent" TextField="Name" runat="server"
        DataSourceid="AccessDataSource1">
    <ClientSideEvents SelectedIndexChanged="function(s, e) {
     var item = ListBox.GetSelectedItem();
        CallbackPanel.PerformCallback(item.value);}" />
    </dxe:ASPxListBox>
    <dxcp:ASPxCallbackPanel id="ASPxCallbackPanel1" runat="server" ClientInstanceName="CallbackPanel" Width="200px" oncallback="ASPxCallbackPanel1_Callback">
        <PanelCollection>
    <dxp:PanelContent runat="server">
    <dxdv:ASPxDataView id="ASPxDataView1" RowPerPage="1" ColumnCount="1" Width="165%" runat="server" DataSourceid="AccessDataSource2">
         <PagerSettings Visible="False"></PagerSettings>
         <Paddings Padding="0px"></Paddings>
         <ItemTemplate>
         <table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td valign="top" style="padding-top: 7px;">
         </td><td><div class="Spacer" style="width: 13px;"></div></td><td valign="top"><table border="0" cellpadding="0" cellspacing="4"><tr>
         <td class="dxcp_tCategory">ID:</td>
         <td class="dxcp_tInfo"><dxe:ASPxLabel id="EmployeeIDLabel" runat="server" Text='<%# Eval("EmployeeID") %>'></dxe:ASPxLabel>
         </td></tr><tr>
         <td class="dxcp_tCategory">First Name:</td>
         <td class="dxcp_tInfo"><dxe:ASPxLabel id="FirstNameLabel" runat="server" Text='<%# Eval("FirstName") %>'></dxe:ASPxLabel>
         </td></tr><tr>
         <td class="dxcp_tCategory">Last Name:</td>
         <td class="dxcp_tInfo"><dxe:ASPxLabel id="LastNameLabel" runat="server" Text='<%# Eval("LastName") %>'></dxe:ASPxLabel>
         </td></tr><tr>
         <td class="dxcp_tCategory">Birth Date:</td>
         <td class="dxcp_tInfo"><dxe:ASPxLabel id="BirthDateLabel" runat="server" Text='<%# String.Format("{0:d}",Eval("BirthDate")) %>'></dxe:ASPxLabel>
         </td></tr><tr>
         <td class="dxcp_tCategory">City:</td>
         <td class="dxcp_tInfo"><dxe:ASPxLabel id="CityLabel" runat="server" Text='<%# Eval("City") %>'></dxe:ASPxLabel>
         </td></tr><tr>
         <td class="dxcp_tCategory">Region:</td>
         <td class="dxcp_tInfo"><dxe:ASPxLabel id="RegionLabel" runat="server" Text='<%# Eval("Region") %>'></dxe:ASPxLabel>
         </td></tr><tr>
         <td valign="top" class="dxcp_tCategory">Notes:</td>
         <td class="dxcp_tInfo"><dxe:ASPxLabel id="NotesLabel" runat="server" Text='<%# Eval("Notes") %>'></dxe:ASPxLabel>
         </td></tr></table>
         </td></tr></tbody></table>
         </ItemTemplate>
        <ItemStyle Width="100%" />
    </dxdv:ASPxDataView>
    <asp:AccessDataSource id="AccessDataSource2" runat="server"
        DataFile="~/App_Data/nwind.mdb"
        SelectCommand="SELECT [EmployeeID], [LastName], [FirstName], [BirthDate], [City], [Region], [Photo], [Notes] FROM [Employees] WHERE ([EmployeeID] = ?)">
        <SelectParameters>
            <asp:Parameter DefaultValue="1" Name="EmployeeID" Type="Int32" />
        </SelectParameters>
    </asp:AccessDataSource>
                            </dxp:PanelContent>
</PanelCollection>
                    </dxcp:ASPxCallbackPanel>
                </td>
            </tr>
        </table>
    </div>
    </form>
</body>
</html>

grid.PerformCallback

    <ClientSideEvents Tick="function(s, e) {
        grid.PerformCallback();
    }" />

function PerformCallback(
   args : String
);
// Deleting selected rows.
protected void ASPxGridView1_CustomCallback(object sender, DevExpress.Web.ASPxGridView.ASPxGridViewCustomCallbackEventArgs e) {
    // Obtains the key values of selected rows.
    List<object> keyValues = ASPxGridView1.GetSelectedFieldValues("ID");
    StringBuilder sb = new StringBuilder(keyValues[0].ToString());
    foreach (object key in keyValues) {
        AccessDataSource1.DeleteParameters["ID"] = new Parameter("ID", TypeCode.Int32, key.ToString());
        AccessDataSource1.Delete();
    }
    // Refreshes the grid.
    ASPxGridView1.DataBind();
}

protected void ASPxGridView1_CustomCallback(object sender, DevExpress.Web.ASPxGridView.ASPxGridViewCustomCallbackEventArgs e) {
    ASPxGridView1.DataBind();
}

 

SOAP Envelope Sample


Client Windows applicaton
------------------------------------------------------------
Public Class frmMain

    Private Sub btnTest_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTest.Click
        TextBox1.Text = String.Empty

        Dim obj As New wsSampleSoap.AuthHeader
        Dim ws As New wsSampleSoap.Service1

        obj.UserName = "admin"
        obj.Password = "dotnet"

        ws.AuthHeaderValue = obj
        TextBox1.Text = ws.GetCustomerList()
    End Sub
End Class
-----------------------------------------------------------

** SOAP Web Service

using System;
using System.Collections.Generic;
using System.Web;
using System.Web.Services;

using System.Web.Services.Protocols;
using System.Xml.Serialization;


namespace SampleSoapMessage
{

    public class AuthHeader : System.Web.Services.Protocols.SoapHeader
    {
        public string UserName;
        public string Password;
    }

    /// <summary>
    /// Summary description for Service1
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/", Description="SOAP Header Example")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    public class Service1 : System.Web.Services.WebService
    {
        public AuthHeader curUser;  // header item

        [WebMethod]
        [SoapHeader("curUser")]
        public string HelloWorld()
        {
            return "Hello World";
        }

        [WebMethod(Description = "authenticates a user")]
        [SoapHeader("curUser")]
        bool Login()
        {
            if (curUser != null)
            {
                if (Authenticate(curUser.UserName, curUser.Password))
                {
                    return true;
                }
                else
                {
                    return false;
                }
            }
            else
                return false;
           
        
        }

        bool Authenticate(string user, string pwd)
        {
            return user == "admin" && pwd == "dotnet";
        }

        [WebMethod(Description = "returns the current time")]
        [SoapHeader("curUser")]
        public string GetCustomerList()
        {
            string customerList = string.Empty;

            if (Login())
                customerList = "OK";
            else
                customerList = "Fail";

            return customerList;
        }

    }
}