C#やASP.NETをはじめとするプログラミング技術日記を綴っていきます。
カテゴリー:ASP.NET AJAX
Categories
Archives
メールマガジン
.NET Framework 3.5にも完全対応、AJAX Control Toolkitリリース
.NET Framework 3.5にも完全対応、AJAX Control Toolkit最新版リリース
AJAX Control Toolkitの最新版、Version 3.0.20229が2月29日にリリースされた。CodePlexよりダウンロードできる。AJAX Control Toolkitは、ASP.NETで動作するAJAXライブラリ。新バージョンでは「隠し状態でのタブ機能」「1つ目がブランクから始まるタブ」「サーバーサイドバリデーションにおけるValidatorCallout」などがサポートされたほか、「Safari上でのカレンダー機能」が改善されている。その他、多くのパッチ提供を受けバグが修正されている。
AJAX Control Toolkitは、.NET Framework 3.5/Visual Studio 2008用の「Version 3.0.20229」と、.NET Framework 2.0/Visual Studio 2005用の「Version 1.0.20229」の2バージョンが用意されている。
今回のバージョンで、3.5に完全対応ということらしいけど、今まで対応してなかったとは知りませんでした。
基本的には、不具合箇所のFIXということらしいです。
MVCに対応した「ASP.NET 3.5 Extensions Preview版」リリース
MVCに対応した「ASP.NET 3.5 Extensions Preview版」リリース
Microsoftは9日、「ASP.NET 3.5 Extensions」のPreview版を公開した。Microsoftダウンロードセンターより入手できる。ASP.NET 3.5 Extensionsは、2008年公開予定のASP.NET 3.5・ADO.NETに組み込まれる。ASP.NET 3.5は、MVCによる開発スタイルを初めて採用、Web開発者にとってなじみのあるアプリケーション開発が行えるようになっている。
その他、今回のプレビュー版にはASP.NET Dynamic Data機能、ブラウザの「戻る」ボタンをサポートしたASP.NET AJAX、ADO.NET Entity Framework、ADO.NET Data Services、Silverlight Controls for ASP.NETなどの機能が盛り込まれており、正式版公開前に評価できるようになっている。
とのこと。
正直なところ、ASP.NET開発において、MVCモデルが有効とは思えないのですが、その他の機能で使えそうなものもあり、今後の動きに注目したいところです。
ASP.NET AJAX Control Toolkit Version 1.0.10920.0 公開
9/20に公開されていたようです。
バグもいくつか直っているようなので、CalendarExtender、CollapsiblePanelExtenderの不具合も直っているかなあ?と期待してたんですが。
試してみたら、全く直っていませんでした。orz
CalendarExtender+MaskedEditExtenderの実装サンプル
CalendarExtenderネタが続いたので、実装のテンプレートを公開しておきます。
[***]の部分を、日付入力用TextBoxのIDに一括置換してください。
あと、カレンダーのアイコンはご自身で用意してください。
<asp:ImageButton runat="Server" ID="***Image" ImageUrl="~/images/カレンダーのアイコン.jpg" AlternateText="カレンダーを表示します" CausesValidation="False" OnClientClick="return false;" />
<ajaxToolkit:MaskedEditValidator ID="***Validator" runat="server" Display="Dynamic"
ControlExtender="***Mask" ControlToValidate="***" InvalidValueBlurredMessage="日付の入力が正しくありません" ValidationGroup="Main" /><ajaxToolkit:CalendarExtender ID="***Extender" runat="server" CssClass="ajax__calendar" TargetControlID="***" PopupButtonID="***Image" />
<ajaxToolkit:MaskedEditExtender ID="***Mask" runat="server" TargetControlID="***"
Mask="9999/99/99" CultureName="ja-JP" MaskType="Date"
OnFocusCssClass="MaskedEditFocus" OnInvalidCssClass="MaskedEditError" AcceptNegative="Left" />
CalendarExtenderでカレンダーがDropDownの下に表示される
またもや、DropDownなんですが...
CalendarExtenderで表示したカレンダーにDropDownが被っていると、DropDownの方が上に表示されてしまいます。
その他のコントロールの場合は大丈夫そうなので、相変わらずDropDownとの相性のようです。
今回の問題は結構有名なのか、すぐに解決方法が見つかりました。
How do I get the CalendarExtender to show over a dropdown?
要約すると、スタイルシートに以下を追加します。
/* CalendarExtender */
.ajax__calendar
{
position: relative;
left: 0px !important;
top: 0px !important;
visibility: visible; display: block;
}
.ajax__calendar iframe
{
left: 0px !important;
top: 0px !important;
}
CalendarExtenderのCssClassでajax__calendarを指定します。
こんな感じ
<ajaxToolkit:CalendarExtender ID="***Extender" runat="server" CssClass="ajax__calendar" TargetControlID="***" PopupButtonID="***Image" />
IE以外のブラウザできちんと動作するかは確認してないので分かりませんが...
CalendarExtenderでカレンダーを閉じるときにPostBackしてしまう
ImageButtonにCalendarExtenderを割り当てたところ、カレンダーは表示されるのですが、カレンダーが表示されているときに再度押下すると、PostBackが発生しました。
PostBackするということは、Submitしているのだろうということで、ImageButtonのOnClientClick属性に OnClientClick="return false;" を設定したところ、PostBackしなくなりました。
そんだけなんですが、忘れないようにメモってことで。
CollapsiblePanelExtender使用時に画面がちらつく
CollapsiblePanelExtenderを使用しているとき、画面表示後に一瞬消えてもう一度描画処理が行われます。
再現する画面と再現しない画面があるので試行錯誤していたら、DropDownListを表示している画面だけに発生していることが分かりました。
恐らくバグだろうと思い、ぐぐってみると、それらしき情報が見つかりました。
どうやら、DropDownListというより、Selectタグとの相性みたいですね。
CollapsiblePanelExtender Flicker Solution
以下、大体の説明です。
style="visibility:hidden;"
<script language="javascript" type="text/javascript">
function pageLoad()
{
var dropdowns = document.getElementsByTagName("select");
if (dropdowns)
{
for (i=0; i < dropdowns.length; i++)
{
dropdowns[i].style.visibility = "visible";
}
}
}
</script>
CalendarExtenderでカレンダーを日本語表記にする
ScriptManagerのEnableScriptGlobalization、EnableScriptLocalization属性を共にtrueにすればいいようです。
CalendarExtenderは特に何かしなくても、勝手に日本語になりました。
便利だけど、ちょっと分かりにくいかも。
大量のAjax関連リンク集
「あるSEのつぶやき」さんで紹介されていたのですが、本当に大量のAjax関連リンク集でした。
英語のページなんですが、きちんと分類されているので、目的の情報を探しやすいんじゃないかと思います。
Ajaxだけでなく、Javascriptだけのページも分類されているようです。
ASP.NET AJAX のソースコード公開
ASP.NET Ajax Server/Client Source Codeが公開になる!?
ASP.NET 2.0 AJAX Extensions 1.0 Source Code
正直、あまりコードには興味がなかったのですが、新たにコントロールを作らなきゃいけない状況になるかもしれないので、参考になるかもしれません。
気が向いたら、ダウンロードしてみようと思います。
MicroSoftがこの手のコードを公開したのは、ちょっと記憶に無いのですが...あったかな?
どっちかというと、そっちの方が驚きだったり。
Microsoft AJAX LibraryをPHPから使用するライブラリが公開されています
Microsoft AJAX LibraryをPHPから使用するライブラリが公開されています
私はPHPを使っていないので、よく分からないのですが。
ASP.NET AJAX 1.0と同様の機能を持ったライブラリ、PHP for Microsoft AJAX Libraryが公開されているようです。
内容は、先日紹介したASP.NET AJAX 1.0と一緒にリリースされた、Microsoft AJAX LibraryをPHPでも使用できるようにしたものなんだとか。
Microsoft AJAX LibraryはASP.NET AJAX 1.0で使用されているJavascriptライブラリなので、ASP.NETでなくても使用することができるのですが、PHP用にラップすることで、ASP.NET AJAX 1.0みたいに使うことができるようです。
まだアルファ版とのことなので、今後の展開を見守りたいと思います。
ASP.NET AJAX 1.0 正式版
AJAX : The Official Microsoft ASP.NET AJAX Site
「ASP.NET AJAX 1.0 正式版」、ついにリリース!
いよいよ出ました!
というか、先週のVSUGアカデミースペシャルでは「いつとは言えない」と弱気な発言だったので、正直今月末ギリギリかと思ってたんですが...
正式版だけがダウンロードできるだけでなく、デモンストレーションのビデオなんかも見れるので、初めて名前を聞いた人にも理解しやすいかも。
ただ、英語版だけのリリースです。
日本語版は次期VisualStudioの発売に向けてやっていくとのことなので、しばらくは英語と格闘になります。
あるいは、誰かが翻訳してくれるのを待つしかないようです。
Atrasとコードネームが着いていた頃より、数段使いやすくなっている感じがするので、使ってみた感想をまた書いてみようと思います。
VSUGアカデミースペシャル 「ASP.NET AJAX 1.0 登場」
VSUGアカデミースペシャル 「ASP.NET AJAX 1.0 登場」
職場の仲間と一緒に参加してみました。
「ASP.NET AJAX」については、「Atlas」とコードネームで呼ばれていた頃から注目していて、実際に業務に使ったりしていたわけで、使い方なんかは大体理解していたつもりだったんですが...
「ASP.NET AJAX」は、今後のASP.NET開発を変えるであろうことは予想していたものの、コードを書く量が本当に必要最小限に抑えられている点が素晴らしいと思う。
AJAXというより、面倒くさかったJavaScriptを使った開発がより楽になるなあと実感できました。
実際にマイクロソフトの方がサンプルコードを作成していくデモンストレーションは、なかなか見ごたえがありました。こんな使い方もできるのかあと。
あとは、入力スピードがさすがに速いなあと思いました。インテリセンスを上手に使っているからなんですが、こういうのも生産性に絡んでくるんだなあ、などと考えてみたり。
ASP.NET "Atlas" ドキュメント日本語版ダウンロード
ASP.NET "Atlas" ドキュメント日本語版ダウンロード
ASP.NET "Atlas" の日本語版ドキュメントがダウンロードできるようです。
これで、英語地獄から解放される...