SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

ASP.NET 3.5 Extensions + ASP.NET MVCフレームワーク

ASP.NET AJAXの開発をさらにサポート「ASP.NET 3.5 SP1」

ASP.NET 3.5 Extensions + ASP.NET MVCフレームワーク(5)

  • X ポスト
  • このエントリーをはてなブックマークに追加

クライアントサイドスクリプトで履歴ポイントを操作する

 履歴ポイントはサーバーサイドでの実装だけでなく、クライアントサイドでも実装可能です。原理的には何ら変わらず、部分更新などの動作が行われている時に履歴ポイントを作成し、キーと値を格納して、Navigateイベント内で、値を取り出して該当のコントロールに値を設定するという流れになっています。それでは早速サンプルを見てみたいと思います。

<script type="text/javascript">
        // ページ呼び出し時のイベント登録
       function pageLoad() {
            // 戻る/進むボタンを押したときのイベント登録
            Sys.Application.add_navigate(CallHistoryPoint);
            // ボタンクリック時のイベント登録
            var btn = $get('button');
            $addHandler(btn, "click", btnClick);
        }

        // 戻る/進むボタンを押したときの挙動
        function CallHistoryPoint(sender, e) {
            var text = e.get_state().key
            $get("label").innerHTML = text;
        }

        // 履歴ポイントの作成
        function btnClick(e) {
            var text = $get("text").value;
            Sys.Application.addHistoryPoint({ key: text }, "Hello," + text);
            $get("label").innerHTML = text;
        }
</script>

<中略>

<div>
    <asp:ScriptManager ID="ScriptManager1" runat="server" EnableHistory="true"   />
</div>
<label id="label"></label>
<input id="text" type="text"     />
<input id="button" type="button" value="登録"     />

 上記サンプルでは、ページロードイベント時にadd_navigateメソッドを使って戻る/進むボタンを押した時のイベント登録を行っています。また、ボタンクリック時のイベントを$addHandlerメソッドを使ってbtnClick関数と関連付けしています。履歴ポイントの作成は、addHistoryPointメソッドを使い、第一パラメータにキーと値を格納します。第二パラメータはブラウザのタイトルです。特に必要ない場合、第二パラメータは省略できます。戻る/進むボタンをクリックした時の挙動として、get_state()メソッド+.「キー」の値を設定して格納した値を取り出しています。

 サーバーサイド、クライアントサイドどちらでも選択できるのでアプリケーションにあった方を採用できるのも非常に魅力的です。CompositeScript同様にこちらも積極的に活用していきましょう。

ASP.NET Controls for Silverlightの概要と利用

 ASP.NET Controls for Silverlightの概要は非常にシンプルです。ASP.NETアプリケーション上で簡単にSilverlightをホストできる2種類のコントロールです。機能で言うと、MediaをホストするMediaPlayerコントロールと、それ以外のSilverlightをホストするSiverlightコントロールです。どちらも利用の際にScriptManagerコントロールの配置が必要になります。

 Silverlightについては既にさまざまな情報が出てきていますが、CodeZineのSilverlight連載記事は入門から丁寧に記述されているので、詳しく学習したい方はそちらを参考にしてください。本稿ではホストするコントロールの特徴について解説します。

次のページ
メディアをホストするMediaPlayerコントロール

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
ASP.NET 3.5 Extensions + ASP.NET MVCフレームワーク連載記事一覧

もっと読む

この記事の著者

山田 祥寛(ヤマダ ヨシヒロ)

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるReact実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

WINGSプロジェクト ナオキ(ナオキ)

WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/3670 2009/03/18 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング