検索 
2010年7月31日 ..:: ブログ ::..   ログイン


 ASP.NET AJAX
Microsoft Ajax Library Book Published. (US)
By : Akira INOUE   Date : 2008/02/01 12:22

Microsoft AJAX Library Essentials という書籍が US で発売されたようです。

Brad Abrams : Microsoft Ajax Library Book Published

Microsoft AJAX Library Essentials: Client-side ASP.NET AJAX 1.0 Explained (Paperback)

300 ページだそうで、そりゃそうですよね。AJAX Library のクライアントスクリプトだけでも、詳しく書くとこのくらいの分量になるんですよね。

ちなみに、AJAX Control Toolkit に関しては触れられていないようで、これについては 2nd Edition があるかも!? なんて書かれてます。期待w

さてさて、日本語訳されるかなー??

 

コメント (0)

[ASP.NET] ASP.NET 3.5 Extensions と ASP.NET Futures の位置づけ
By : Akira INOUE   Date : 2008/01/25 21:02

先日、Scott さんが来日した Visual Studio 2008 Ready Day で、ナオキさんに久しぶりに会って話をしたのですが、ASP.NET 3.5 Extensions と ASP.NET Futures の位置づけが、これまでいまいちわからなかったのです・・・

今日のナオキさんのブログエントリ

ASP.NET FuturesとASP.NET 3.5 Extensionsの違い
http://d.hatena.ne.jp/naoki0311/20080125/1201236838

で、そのことについてまとめられているので参考になります。

ASP.NET 3.5 Extensions Preview は、名前の通り現時点で Preview ですが、.NET Framework 3.5 で使用できるようになる予定の Extensions ということなんでしょう。

また、ASP.NET Futures は、将来のどこかの時点( 3.5 とは限らない)で採用されるかもしれない部品群という位置づけなんでしょうね。

両者に同じ機能が含まれているのでちょっと混乱するのですが、こちらの ASP.NET Futures のダウンロードページ( http://asp.net/downloads/futures/ )で、

Important: this version of the browser history feature is now outdated and should not be used. Instead, please download the ASP.NET 3.5 Extensions Preview, which contains the new version.

なんてコメントもあるので、ASP.NET 3.5 Extensions の機能の方がより正式版に近いものということに間違いないでしょう。

[参考]

● ASP.NET 3.5 Extensions Preview
http://asp.net/downloads/3.5-extensions/

Download:
http://www.microsoft.com/downloads/details.aspx?familyid=A9C6BC06-B894-4B11-8300-35BD2F8FC908&displaylang=en

● ASP.NET Futures (July 2007)
http://asp.net/downloads/futures/

Download:
http://www.microsoft.com/downloads/details.aspx?familyid=A5189BCB-EF81-4C12-9733-E294D13A58E6&displaylang=en

 

コメント (0)

Ajax Data Controls 1.0 リリース
By : Akira INOUE   Date : 2008/01/16 19:10

Ajax Data Controls 1.0 という ASP.NET AJAX Extensions ベースのコントロールライブラリが CodePlex で公開されています。

● Ajax Data Controls 1.0 - CodePlex
http://www.codeplex.com/AjaxDataControls

● Ajax DataControls 1.0 - aspxの日記2008(ASP++ブログ) by Moo
http://d.hatena.ne.jp/aspx/20080116/1200475973

これには、現在以下のコントロールが用意されている模様。

  • Repeater
  • GridView
  • DataList
  • Pager

これらのコントロールを使うことで、これまでの GridView や DataList などではできなかったクライアントサイドから Web サービスやページメソッドが簡単に呼び出せるようになるそうです。

要調査ですね。

※ Ajax Data Controls --- 略して ADC (なんかかっこいいなぁー)

 

コメント (2)

[AJAX Control Toolkit] MaskedEdit を Date (yy/MM/dd) で使用するとエラーとなる
By : Akira INOUE   Date : 2008/01/10 15:36

今年最初の投稿となります。本年もよろしくお願いいたします。

さて、なにかとやらなければならないことの多い日々を送っていまして、なかななこのブログの更新ができずにおりますが、とりあえず簡単に MSDN フォーラムへの投稿から一つ記事をアップします。

「CalendarExtenderでundefinedはNullまたはオブジェクトがありませんのエラーがでる」
http://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=2652366&SiteID=7

詳細は、上記を見ていただくとして、ちょっと調べたところ MaskedEdit の不具合のようです。

MaskType プロパティを Date で、Mask プロパティを 9999/99/99 (つまり yyyy/MM/dd 形式)で使用すれば問題ないのですが、2桁の年表示( yy/MM/dd )で使用する場合にこの不具合に遭遇してしまいます。

私も今まで気がつかなかったのですが、MaskedEditBehavior.js のエラー箇所の実装をみると納得(?)します。あまり yy/MM/dd 形式では使用されないのでしょうか?(日本だけなのかな?)

とりあえず、私の拙い英語で CodePlex へ Report をあげておきましたので、よろしければ Vote してください。

CodePlex: "MaskedEdit error in "yy/MM/dd" format."
http://www.codeplex.com/AtlasControlToolkit/WorkItem/View.aspx?WorkItemId=14692

※ MaskedEdit は何かと不具合が多い気がするので、個人的にはあまり使用したくないです・・・

 

コメント (0)

ASP.NET 2.0 AJAX Templates for Visual Studio 2008
By : Akira INOUE   Date : 2007/12/21 15:18

2007/12/18付けで、Visual Studio 2008 で .NET Framework 2.0 ベースの ASP.NET AJAX を利用するためのテンプレートがリリースされています。

● ダウンロード
http://www.microsoft.com/downloads/details.aspx?FamilyID=5c7df430-1c34-40d2-b6ec-81353b5fcf2e&displaylang=en

● Using VS2008 to Target .NET Framework 2.0 with ASP.NET AJAX
http://blogs.msdn.com/brada/archive/2007/12/19/using-vs2008-to-target-net-framework-2-0-with-asp-net-ajax.aspx

● ひろえむさんのブログ
「Microsoft ASP.NET 2.0 AJAX Templates for Visual Studio 2008が公開されています」
http://blogs.wankuma.com/hirom/archive/2007/12/20/113855.aspx

これをインストールすると、Visual Studio 2008 を使って ASP.NET AJAX 1.0 (ASP.NET 2.0) の Web サイトやWeb アプリケーションのテンプレートが使用できるようになります。

screen1

そして、ちゃんと AJAX Extensions のアセンブリバージョンは 1.0.61025.0 となり、aspx ファイルにははじめから ScriptManager コントロールが配置された状態になります。

screen2

開発環境は VS2008 だけれど、運用環境が ASP.NET 2.0 (.NET Framework 2.0) で AJAX を使いたいという場合には、ぜひ利用してください。

 

コメント (4)

[ASP.NET AJAX] MSDN ライブラリ日本語ドキュメント
By : Akira INOUE   Date : 2007/12/19 11:45

Visual Studio 2008 がリリースになり、MSDN ライブラリの日本語ドキュメントも数多く更新されています。

その中でも、かるあさんナオキさんもブログで言及されていますが、ASP.NET AJAX 関連の日本語ドキュメントが追加されているのが嬉しいですね。

● クライアント機能の追加と AJAX
http://msdn2.microsoft.com/ja-jp/library/bb398822.aspx

● クライアントのリファレンス
http://msdn2.microsoft.com/ja-jp/library/bb397536.aspx

あとは、やっぱり AJAX Control Toolkit なんだよなぁ・・・

 

コメント (0)

"Astoria" Web Data services == ADO.NET Data Services
By : Akira INOUE   Date : 2007/12/11 22:35

書籍「ASP.NET AJAX 入門」でも少しだけ書いたのですが、これまでコードネームで "Astoria" Web Data services と呼ばれていた、REST WebサービスのようにHTTPプロトコルで直接データベースからデータを取得可能にするためのテクノロジの名称が ADO.NET Data Services に変更されています。

ADO.NET Data Services ( "Astoria" Web Data services )
http://astoria.mslivelabs.com/

また、同時に CTP1 がリリースされています。

これまで ASP.NET Futures(July 2007) と呼ばれていたものが、ASP.NET 3.5 Extensions Preview となり、その一部として ADO.NET Data Services の CTP1 が含まれています。

ASP.NET 3.5 Extensions Preview は、http://www.asp.net/Downloads/3.5-extensions/ からダウンロードできます。またそのドキュメントは http://quickstarts.asp.net/3-5-extensions/ で参照することができます。

名前からコードネーム "Astoria" が無くなったとはいえ、まだ CTP ですので、正式なリリースはまだ少し先になると思いますが、この ADO.NET Data Services を含め ASP.NET 3.5 Extensions Preview 全体をもう少し詳しく追っていきたいなー、と思う今日この頃・・・

 

コメント (0)

ASP.NET AJAX 公式サイトと AJAX Control Toolkit が更新されています
By : Akira INOUE   Date : 2007/11/20 17:23

Visual Studio 2008 英語版 RTM にともない、ASP.NET AJAX 公式サイト ( http://www.asp.net/ajax/ ) が更新されています。( ナオキにASP.NET(仮) より)

ダウンロードコンポーネントとして公開されているのは

  • AJAX Control Toolkit ( Version 3.5.11119.0 と Version 1.0.11119.0 )
  • Microsoft AJAX Library 3.5

です。

ナオキさんも書かれていますが、ASP.NET 2.0 向けの AJAX 関連コンポーネントは

ASP.NET AJAX Archive for ASP.NET 2.0 ( http://www.asp.net/ajax/downloads/archive/ )

として別なページに移動されています。(Futures もこちらのページにあります)

トップページには VS2008 向けの AJAX 関連 Video もいくつか公開されていますので参考になるかと思います(Video format : WMV | Zune | iPod | PSP | MPEG-4 | 3GP のさまざまな形式でダウンロードできるようです)。

VS2008 RTM で慌ただしくなってきましたねー。
来月はいよいよ日本語版でしょうか。

 

コメント (0)

[ASP.NET AJAX] ASP.NET Futures (July 2007) 更新
By : Akira INOUE   Date : 2007/11/09 21:37

ASP.NET Futures (July 2007) が更新されたようです(ひろえむさんのブログより)。

とりあえずダウンロードしてインストールしてみましたが、何が変わったか不明・・・

バージョンが 1.2.61025 から 1.3.61025 になっているのでバグフィックスだけじゃなさそうですが。でも名称が July のままなんですよね。なぜ Nov 2007 じゃないのかな。

 

さて、それはさておき、AJAX Control Toolkit の AutoComplete エクステンダ不具合に関して書いたエントリ(こちら)ですが、気付いたら Status が Closed になってまして、Release が 11130 だそうです。ということは、AJAX Control Toolkit の次のリリースは 11/30 予定のようですね(日本だと 12/1 かな)。期待して待ちましょう。

 

コメント (2)

[AJAX Control Toolkit] AutoComplete エクステンダで数字だけのデータが 'undefined' になる
By : Akira INOUE   Date : 2007/09/25 16:13

先日バージョンアップした AJAX Control Toolkit 1.0.10920 の AutoComplete エクステンダ(AutoCompleteExtender)に不具合があり、数字だけの文字配列をWebサービスまたはページメソッドで返した場合に、表示が 'undefined' になってしまいます。

図a 数字のみの場合 'undefined' 表示
bad.jpg

図b 英字が一つでも含まれれば正常
good.jpg

CodePlex に以下の要望があがっており、ver.1.0.10920 より仕様追加されています。

● AutoComplete - key value
http://www.codeplex.com/AtlasControlToolkit/WorkItem/View.aspx?WorkItemId=9043

この変更で追加されたコードによる不具合のようで、以下の箇所が問題のようです。

AutoCompleteBehavior.js - line:747

747: var pair = Sys.Serialization.JavaScriptSerializer.deserialize('(' + completionItems[i] + ')');
748: if (String.isInstanceOfType(pair)) {
749:     // If the web service only returned a regular string, use it for
750:     // both the text and the value
751:     text = pair;
752:     value = pair;
753: } else {
754:     // Use the text and value pair returned from the web service
755:     text = pair ? pair.First : null;
756:     value = pair ? pair.Second : null;
757: }

例えば completionItems[i] が "012" の場合、JavaScriptSerializer.deserialize メソッドは Integer 型の 12 を返します(deserialize メソッド内部では eval('(' + '012' + ')') をおこなっている...)。
そのため、755行目の text と、756行目の value が共に 'undefined' となってしまっています。

CodePlex の方にも既に不具合報告があがっていましたので、vote & comment しておきました。

● AutoCompleteExtender fails with numeric values
http://www.codeplex.com/AtlasControlToolkit/WorkItem/View.aspx?WorkItemId=12901

気になる方はぜひ vote してくださいー。

ちなみに、今のところの回避方法は旧バージョンの 10618 を使うか、こちらの AutoComplete Key/Value Pair に書かれている Key/Vaue Pair を返す方法のいずれかになると思います。

 

コメント (0)

[AJAX Control Toolkit] Version 1.0.10920.0 リリース
By : Akira INOUE   Date : 2007/09/23 21:58

AJAX Control Toolkit の最新バージョン(10920)が 9/20 にリリースされています。
(アセンブリバージョンは 1.0.10920.32880 )

ASP.NET AJAX Control Toolkit Version 1.0.10920.0 ( 2007/09/20 Release )
http://www.codeplex.com/AtlasControlToolkit/Release/ProjectReleases.aspx?ReleaseId=4941

主にバグフィックスと機能追加がおこなわれているようです。
新しいコントロールの追加はありません。

早速使ってみたところ、 AutoComplete エクステンダを使用しているアプリケーションで問題発生。
以下の仕様追加によるバグ(?)のようです。

AutoComplete: Allow users to associate additional data with the AutoComplete suggestions.

以下の要望で追加された機能(Key value pair 対応)に起因する不具合のようです。
http://www.codeplex.com/AtlasControlToolkit/WorkItem/View.aspx?WorkItemId=9043

これまでの単純な文字配列としてデータを返す Web サービス or ページメソッドで、数値だけのデータを返すと、undefined になってしまうというものです(詳細は後日アップします)。

あー、はまった、はまった・・・

 

コメント (0)

[ASP.NET AJAX] web.config の jsonSerialization 構成要素の maxJsonLength 属性値
By : Akira INOUE   Date : 2007/09/11 1:02

MS 大西さんが興味深い記事を書かれていたのでメモしておきます。

Silverlight 1.0 + ASP.NET AJAX : 試行錯誤を減らすための参考情報 :ScriptingJsonSerializationSectionクラスのMaxJsonLengthプロパティのサイズ設定をお忘れなく

要は、ASP.NET AJAX で ScriptManager による JavaScript からの Web サービス呼び出しを JSON で行う場合は、web.config の jsonSerialization 構成要素の maxJsonLength 属性値を適切に設定しましょう、ということですね。

<system.web.extensions>
  <scripting>
    <webServices>

      <jsonSerialization maxJsonLength="1024000" />

    </webServices>
  </scripting>
</system.web.extensions>

maxJsonLength のデフォルトは 102400 文字らしいですが、約65000文字の XAML(の JSONシリアライズ文字列)が処理できなかったとも書かれていますから、注意が必要です。

私は幸いに、まだこの制限による問題に遭遇していないのですが、設計の段階からクライアントスクリプトと Web サービス間の通信量を十分考慮する必要がありそうです。

セキュリティなどの視点から、この maxJsonLength の値をむやみやたらに大きく設定することも控えたほうがいいのかもしれません。

適切な値を十分検討する必要がありそうですね。

 

コメント (0)

[ASP.NET AJAX] JavaScript の pageLoad 関数と pageUnload 関数
By : Akira INOUE   Date : 2007/08/30 21:00

@IT の Insider.NET 会議室でこんな投稿
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=40926&forum=7&3
があったので、少しだけフォローしておきます。

ASP.NET AJAX では、クライアントの JavaScript に pageLoad または pageUnload という名前の関数があった場合、ページのロード時およびアンロード時に必ず実行されるようになっています。

Script.js

// ページロード
function pageLoad()
{
  $get("output").innerHTML += "ページロード<br />";
}

// ページアンロード
function pageUnload()
{
  alert("ページ アンロード");
}

if (typeof(Sys) !== "undefined") Sys.Application.notifyScriptLoaded();

Default.aspx

<body>
  <form id="form1" runat="server">
    <asp:ScriptManager ID="ScriptManager1" runat="server" >
      <Scripts>
        <asp:ScriptReference Path="Script.js" />
      </Scripts>
    </asp:ScriptManager>
    <hr />
    <div id="output"></div>
  </form>
</body>

とくに <body onload="pageLoad()"> などと onload イベントを記述する必要はありません。
記述してしまうと、pageLoad 関数が2回実行されることになりますので注意が必要です。

【上記コードの実行結果】
fig1.jpg

 

また、ページのロードイベントおよびアンロードイベントは Sys.Application.add_load および Sys.Application.add_unload メソッドで任意の関数をイベントハンドラとして指定できますが、暗黙的に実行される pageLoad 関数と pageUnload 関数の実行順序は以下のようになります。

【ページロード時】
1. Sys.Application.add_load メソッドで追加した任意の関数
2. pageLoad 関数

【ページアンロード時】
1. pageUnload 関数
2. Sys.Application.add_unload メソッドで追加した任意の関数


なお、pageLoad 関数などのページロードイベントハンドラは、UpdatePanel によるページの部分更新でも実行されることに注意してください。
この場合には、pageLoad 関数の第2引数で渡される Sys.ApplicationLoadEventArgs オブジェクトのプロパティから、ページ全体の更新による呼び出しなのか、部分更新による呼び出しかを判別することが出来ます。

Script.js

// ページロード
function pageLoad(sender, /*Sys.ApplicationLoadEventArgs*/ args)
{
  $get("output").innerHTML += "ページロード( " +
                              "isPartialLoad = " +
                              args.get_isPartialLoad() + " )<br />";
}

if (typeof(Sys) !== "undefined") Sys.Application.notifyScriptLoaded();

Default.aspx

<body>
  <form id="form1" runat="server">
    <asp:ScriptManager ID="ScriptManager1" runat="server" >
      <Scripts>
        <asp:ScriptReference Path="Script.js" />
      </Scripts>
    </asp:ScriptManager>

    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
      <ContentTemplate>
        <asp:Button ID="Button1" runat="server" Text="Button" /><br />
        <asp:Label ID="Label1" runat="server">
          <% = DateTime.Now.ToString() %>
        </asp:Label>
      </ContentTemplate>
    </asp:UpdatePanel>

    <hr />
    <div id="output"></div>
  </form>
</body>

【上記コードの実行結果】
fig2.jpg

 

まだまだ日本語の情報が少なく英語の情報になりますが、以下に詳しく解説されていますので参考にしてみてください。

「ASP.NET AJAX Client Life-Cycle Events」
http://www.asp.net/AJAX/Documentation/Live/overview/AJAXClientEvents.aspx

 

コメント (0)

AJAX Control Toolkit (.NET Framework 3.5 版) Release
By : Akira INOUE   Date : 2007/07/27 18:13

.NET Framework 3.5 Beta 2 と Visual Studio 2008 Beta 2 のリリースにあわせて、AJAX Control Toolkit の .NET Framework 3.5 版 がリリースされています。

AJAX Control Toolkit Release
http://www.codeplex.com/AtlasControlToolkit/Release/ProjectReleases.aspx?ReleaseId=4923

.NET Framework 2.0 の環境では、これまで通りで更新はされていませんが、.NET Framework 3.5 の環境用に

AjaxControlToolkit-Framework3.5.zip
AjaxControlToolkit-Framework3.5-NoSource.zip

の2つのダウンロードが追加されています。

Visual Studio 2008 Beta 2 (.NET Framework 3.5 Beta 2) の環境では、こちらを使用しましょう。


ちなみに、ASP.NET Official サイト ( http://asp.net/ ) もデザインが一新されています。

 

コメント (0)

Web Development Helper 0.8.5.0 Release
By : Akira INOUE   Date : 2007/07/25 10:34

Web Development Helper がバージョンアップされてます。

Web Development Helper 0.8.5.0 (2007/07/24 Release)
http://projects.nikhilk.net/Projects/WebDevHelper.aspx

Nikhil Kothari's Weblog
http://www.nikhilk.net/WebDevHelperScriptBrowser.aspx

新機能として、Script Class Browser が追加されています。

0.8.5.0: Added Script Class Browser for Microsoft ASP.NET AJAX pages

クラスブラウザの JavaScript 版というところですね。
ちょっとだけ使ってみましたが便利かも。

 

コメント (0)

ScriptDoc 1.0 リリース
By : Akira INOUE   Date : 2007/07/05 10:24

ScriptDoc という、JavaScript コードに書かれた XML コメント(C# と同じフォーマット)から XML ドキュメントを生成するツールがリリースされています。

ScriptDoc 1.0
http://www.codeplex.com/scriptdoc
[2007/06/27 Release]

ScriptDoc 1.0 available
http://weblogs.asp.net/bleroy/archive/2007/06/27/scriptdoc-1-0-available.aspx

今後、JavaScript を書く機会が増えてきそうな感じなので、要チェックです。
近いうちに試してみます。

 

コメント (0)

[AJAX Control Toolkit] AnimationExtender に見るダイナミックプロパティの実装
By : Akira INOUE   Date : 2007/06/21 11:55

ASP.NET AJAX Control Toolkit の AnimationExtender には DiscreteAnimation というクラスがあります。このアニメーションは、指定したプロパティに、配列として渡したプロパティ値を一定の時間内で順に適用するものです。

この Discrete アニメーションを調べていて、XML 記述で Values 属性値にどのように値の配列を渡すのかがわかりませんでした。

ドキュメントをみても、
http://ajax.asp.net/ajaxtoolkit/Walkthrough/AnimationReference.aspx#DiscreteAnimation

Array values;
Array of possible values of the property that will be iterated over as the animation is played.

としか書いていないし・・・

以下のように、JSON, カンマ, セミコロン などを試しましたが当然NG。

<%-- JSON 記述 ( NG ) --%>
<Discrete Property="style" PropertyKey="backgroundColor" Duration="5.0"
  Values="['white', 'lightskyblue', 'royalblue', 'blue', '#ffb6c1']" />

<%-- カンマ ( NG ) --%>
<Discrete Property="style" PropertyKey="backgroundColor" Duration="5.0"
  Values="'white', 'lightskyblue', 'royalblue', 'blue', '#ffb6c1'" />

<%-- セミコロン ( NG ) --%>
<Discrete Property="style" PropertyKey="backgroundColor" Duration="5.0"
  Values="'white'; 'lightskyblue'; 'royalblue'; 'blue'; '#ffb6c1'" />


ということで、Discrete Animation で検索してみたところ、US の ASP.NET Forums に答えが出ていました。
http://forums.asp.net/p/1108530/1705424.aspx

MSの方の回答で、Values 属性でなくて ValuesScript 属性を使って JSON 記述で記述するとのこと。

<%-- ValuesScript を使って JSON 記述 ( OK! )--%>
<Discrete Property="style" PropertyKey="backgroundColor" Duration="5.0"
  ValuesScript="['white', 'lightskyblue', 'royalblue', 'blue', '#ffb6c1']" />

うおーっ、こんな裏技が隠されていたのか!!と驚愕(ドキュメントに書いてよー)。

ということで、この ValuesScript がどんな実装をしているかを早速調べてみたら、そこからは新たな事実が・・・

それは、

ダイナミックプロパティ ( Dynamic Properties ) というものの存在でした。

通常のプロパティ(属性)は、Animation オブジェクトの生成時に静的に値が決まってしまいますが、ダイナミックプロパティは、アニメーションの開始時( onStart メソッド実行時)に、その値が動的に評価され設定されるとのこと。

ダイナミックプロパティかどうかの判別は、プロパティ(属性)名の接尾辞(suffix)が "script" かどうかで決まります。また、ダイナミックプロパティの場合、その値は JavaScript の eval 関数で評価されます。

つまり、プロパティ(属性)名の終わりに script を付ければ、値に JavaScript が記述できるのです!

たまたま、Discrete Animation の ValuesScript でこのダイナミックプロパティの存在を知りましたが、AnimationExtender の他のアニメーションのプロパティにも応用可能です。

例えば、Duration プロパティのかわりに DurationScript を使って、テキストボックスから値を取得することも出来ます。

<%-- Panel1 のフェードイン、移動、リサイズの並列実行 --%>
<Parallel AnimationTarget="Panel1"
  DurationScript="(isNaN($get('Text1').value)) ? 0 : $get('Text1').value;">
  <FadeIn />
  <Move Horizontal="80" Vertical="120" Unit="px" />
  <Resize Width="300" Height="300" Unit="px" />
</Parallel>

このダイナミックプロパティ、他のアニメーションを見ていくと、

  • Script Action の script プロパティ
  • Condition Animation の conditionScript プロパティ
  • Case Animation の selectScript プロパティ

などでも使われていますね。

AnimationExtender を使うにあたって、状況によっては利用価値がありそうですので、覚えておいて損はないでしょう。

以下、簡単にダイナミックプロパティ ( Dynamic Properties ) の実装の抜粋を記しておきます。

●Animations.js

$AA.createAnimation = function(obj, defaultTarget) {

  for (var property in obj) {

    var prop = property.toLowerCase();

    ...(中略)...

    // Try to set the value of a dynamic property
    if (prop.endsWith('script')) {
      setter = properties[prop.substr(0, property.length - 6)];
      if (setter && String.isInstanceOfType(setter) && animation[setter]) {
        animation.DynamicProperties[setter] = value;
      }
    }

    ...(中略)...
}

onStart : function() {

  ...(中略)...

  // Initialize any dynamic properties
  for (var property in this.DynamicProperties) {
    try {
      // Invoke the property's setter on the evaluated expression
      this[property](eval(this.DynamicProperties[property]));
    } catch(ex) {
      ...(中略)...
    }
  }
},


※この実装から見ると、プロパティ(属性)名の大文字小文字は関係ないようですね。疑問がさらに1つ解決です。

 

コメント (0)

[AJAX Control Toolkit] Version 1.0.10618.0 がリリース
By : Akira INOUE   Date : 2007/06/19 14:12

ASP.NET AJAX Control Toolkit リフレッシュリリースが出ています。

ASP.NET AJAX Control Toolkit Version 1.0.10618.0 ( 2007/06/18 Release )
http://www.codeplex.com/AtlasControlToolkit/Release/ProjectReleases.aspx?ReleaseId=4923

  • Tabs: Resolved NamingContainer issues so that FindControl works as expected in Tabs.
  • ToolkitScriptManager: Shorter combined script URLs and new HTTP handler support for generation of combined script files.
  • Dependencies: Removed explicit reference to VsWebSite.Interop.dll and stdole.dll. They will not be automatically included in the web configuration files by Visual Studio.
  • FilteredTextBox: Navigation, Control and Delete keys work fine in all browsers.
  • Localization: Turkish, Dutch, and Traditional and Simplified Chinese language support added.

バグ Fix と少しの改良がされている模様です。
これからインストールしてみます。

 

コメント (0)

[AJAX Control Toolkit] ValidatorCalloutExtender などで Animations が追加されてます
By : Akira INOUE   Date : 2007/06/08 22:15

先日、新バージョンがリリースされた ASP.NET AJAX Control Toolkit ですが、いくつかのエクステンダでアニメーション効果を付加することができるようになっています。

例えば、下図

ValidatorCallout1.jpg

の ValidatorCalloutExtender では、次のように ValidatorCalloutExtender 要素の子要素として Animations 要素を追加して、AnimationExtender と同じ記述ができるようになっています。

<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server"
  ControlToValidate="TextBox1"
  ErrorMessage="<b>名前が未入力です。</b><br /><br />名前を入力してください。"
  Display="None">
</asp:RequiredFieldValidator>
<ajaxToolkit:ValidatorCalloutExtender ID="ValidatorCalloutExtender1"
runat="server"
  TargetControlID="RequiredFieldValidator1"
  HighlightCssClass="Highlight">
  <Animations>
    <OnShow>
      <Sequence>
        <HideAction Visible="true" />
        <Pulse Duration=".1" Iterations="2" />
      </Sequence>
    </OnShow>
    <OnHide>
      <Sequence>
        <FadeOut Duration=".1" />
      </Sequence>
    </OnHide>
  </Animations>
</ajaxToolkit:ValidatorCalloutExtender>


この場合は、図ではわかりませんが、ValidatorCallout による検証メッセージの表示時にポップアップを2回点滅させています。そしてポップアップが非表示になるときにはフェード効果を付加しています。

このようなアニメーション効果の機能が追加されたコントロールには、次のものがあるようです。

  • AutoCompleteExtender
  • DropDownExtender
  • HoverMenuExtender
  • ListSearchExtender
  • PopupControlExtender
  • ValidatorCalloutExtender

とりあえず、AutoCompleteExtender でのアニメーション効果は
http://ajax.asp.net/ajaxtoolkit/AutoComplete/AutoComplete.aspx
で確認できます。

お試しあれ。

 

コメント (0)

[AJAX Control Toolkit] ScriptManager の代わりに ToolkitScriptManager が追加されました
By : Akira INOUE   Date : 2007/06/07 15:30

昨晩、ASP.NET AJAX Control Toolkit のサンプルサイト( http://ajax.asp.net/ajaxtoolkit/Default.aspx )に、急にアクセスできなくなっていたのでどうしたのかな?と思っていたところ、新しいバージョンがリリースされたようで、このためだったのかもしれません。

ASP.NET AJAX Control Toolkit ( 2007/06/06 Release )
http://www.codeplex.com/AtlasControlToolkit/Release/ProjectReleases.aspx?ReleaseId=1813

かなりのバグ Fix がされているようですが、取り急ぎ大きな変更点を1つご紹介。

ScriptManager が ToolkitScriptManager に置き換えられました

これまで、ASP.NET AJAX Extensions の ScriptManager が使われていましたが、これが AJAX Control Toolkit に新しく用意された ToolkitScriptManager に変更になりました。

NewToolkit3.jpg

これにより、例えば次のような CalendarExtender を使用したサイト

NewToolkit1.jpg

をロードした時に、これまでは次のような数多くの ScriptResource (JavaScript) がロードされていました。

NewToolkit2.jpg

これが、ToolkitScriptManager を使うことにより次のようにかなり削減されて、レスポンスの面で改善されたことがわかります。

NewToolkit4.jpg

 

これまでの AJAX Control Toolkit を使用していた Web サイトの場合は、まず、Bin フォルダのアセンブリ( AjaxControlToolkit.dll と関連リソース dll )を最新のものに置き換えます。

そして、aspx ファイルの

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

<ajaxToolkit:ToolkitScriptManager ID="ToolkitScriptManager1"
runat="server" />

に変更します。


ちなみに、ツールボックスのコントロールのアイコンも新しくなってます。
ご参考までに。

NewToolkit5.jpg

 

コメント (0)


MCAD


techbank.jp


Copyright © 2005-2008 by BitWiz   使用条件  プライバシー