in

@Prog! - ASP.NET(C#) AJAX -

ASP.NET(C#) 2.0 & ASP.NET Ajax (ATLAS) のメモ書き

Ajax Data Controls:DataListを利用する

最新の投稿は、投稿日時: 2008/02/07 13:02 投稿者: ASANO です。スレッドには 1 件の返答があります。
ページ 1 / 1 (2 アイテム)
投稿の並べ替え: 前へ 次へ
  • 2008/02/07 13:01

    Ajax Data Controls:DataListを利用する

    <%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

    <%@ Register assembly="AjaxDataControls" namespace="AjaxDataControls" tagprefix="AjaxData" %>

    <!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>Ajax Data Controls:DataListを利用する</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <asp:ScriptManager ID="ScriptManager1" runat="server">
            <Services>
                <asp:ServiceReference Path="~/WebService.asmx" />
            </Services>
        </asp:ScriptManager>
        <AjaxData:DataList ID="DataList1" runat="server" DataKeyField="ID" ItemDataBoundEvent="onItemDataBound">
            <ItemTemplate>
                <div>
                    ID:<div id="Table1_ID"></div>
                    Number:<div id="Table1_Number"></div>
                </div>
            </ItemTemplate>
            <SeparatorTemplate>
                <hr />
            </SeparatorTemplate>
        </AjaxData:DataList>
        </form>
    </body>
    </html>

    <script type="text/javascript">

        function pageLoad(sender, e)
        {
            WebService.GetTable1(onLoadSuccess);
        }

        function onLoadSuccess(result)
        {
            var dataList = $find('<%= DataList1.ClientID %>');

            dataList.set_dataSource(result);
            dataList.dataBind();
        }

        function onItemDataBound(sender, e)
        {
            var item = e.get_item();

            if (item.get_isDataItemType())
            {
                var table1 = item.get_dataItem();

                var spId = item.findControl('Table1_ID');
                var spNumber = item.findControl('Table1_Number');

                setText(spId, table1.ID);
                setText(spNumber, table1.Number);
            }
        }

        function setText(element, text)
        {
            if (typeof element.textContent != 'undefined')
            {
                element.textContent = text;
            }
            else if (typeof element.innerText != 'undefined')
            {
                element.innerText = text;
            }
        }

    </script>

  • 2008/02/07 13:02 回答元:

    Re: Ajax Data Controls:DataListを利用する

    using System;
    using System.Collections;
    using System.Linq;
    using System.Web;
    using System.Web.Services;
    using System.Web.Services.Protocols;
    using System.Xml.Linq;
    using System.Data.SqlClient;
    using System.Collections.Generic;

    /// <summary>
    /// WebService の概要の説明です
    /// </summary>
    [WebService(Namespace = "http://momotchi.net/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    // この Web サービスを、スクリプトから ASP.NET AJAX を使用して呼び出せるようにするには、次の行のコメントを解除します。

    [System.Web.Script.Services.ScriptService]
    public class WebService : System.Web.Services.WebService {

        public WebService () {
        }

        [WebMethod]
        public List<Table_1> GetTable1()
        {
            DataClassesDataContext context = new DataClassesDataContext();
            IEnumerable<Table_1> result = from t in context.Table_1 select t;

            return result.ToList();
        }
    }

ページ 1 / 1 (2 アイテム)