FEATURE 04 特 集 これでわかったASP.NET 基礎から実践、最適化までWebアプリケーションの秘技と奥義 クライアントに .NET Framework は 不要? 初音 玲 ロジックはどこで動くのか HATSUNE, Akira GUIで実装し、両者の違いについて検 Technology Tools はじめに ✓ Visual Basic .NET Visual C# .NET 最近、Visual Basic .NET(以下VB SQL Server 2000 .NET)になって追加されたWebアプリ Oracle 9i ケーション作成機能を誤ったイメージ Access 2002 ✓ ASP.NET ✓ Internet Information Services Other: Level ★ ★ ★ ★ ★ Samples ・この記事で取り上げたソースコードおよび サンプルプログラムは、付録CD-ROMの ¥DOTNET¥F01_04ディレクトリに収 録しています。 ¥CS_CALC クライアントサイドサンプル ¥SS_CALC (先入観)により誤解してしまっている XML Webサービスサンプル ¥WEBCALC XML Webサービス利用(Web版) ・Webブラウザ上でロジックが動作す るクライアント側プログラム ・Webサーバー上でロジックが動作す るサーバー側プログラム と思われる方からの質問を受ける機会 があった。曰く、 「Webアプリケーショ なお、両者は共にASP.NET上で動作 ンを実行するクライアントにも .NET するプロジェクトとして作成する。各々、 Frameworkは必要なんですよね。 」と。 Visual Studio .NET(以下VS.NET)の これは、 「VB.NETで作成したロジック IDEで、メニューから[新しいプロジ がどこで実行されるのか」に関する理 ェクト]-[ASP.NET Webアプリケー 解が不足していることと、 「動作効率を ション]を選択して、指定した場所に 考え、ある程度の入力データチェック Webアプリケーションのプロジェクト をWebクライアント上で行ないたい」 を作成してからコードを記述してゆく。 という思いから発せられた質問だった。 そこで、今回は、VB.NETでWebア サーバーサイドサンプル ¥WS_CALC 討してゆく(図1) 。 プリケーションを開発したときに、ど コード記述の違い こでロジックが動くのかを明解にし、 誤解を払拭してみたい。 aspxファイルの記述の違い ¥WINCALC XML Webサービス利用(Win版) ¥SETUP 取り上げるサンプルについて ザーインターフェイスファイル」と呼 各サンプルプログラムのインストーラ 78 dotNET Magazine 2003 July ASP.NETのaspxファイルは、 「ユー 本稿では、2つの数値を四則演算す ばれるファイルで、ASP.NETは、ここ る機能を、次の2つのサンプルに同じ に記述された内容をHTMLに翻訳して ASP.NET are GO! 図1:サンプルの構成と処理の流れ クライアント側プログラム(サンプルCS_Calc) 実行画面 プロジェクト構成 Webブラウザ Webサーバー 図2:クライアントサイドサンプル「CS_Calc」 のCS_Calc.aspx.vb サーバー側プログラム(サンプルSS_Calc) 実行画面 プロジェクト構成 Webブラウザ Webサーバー ックしたときに、クライアントサイド サンプルとサーバーサイドサンプルで ページ要求 ページ要求 は、まったく異なる動作を行ない、結 ページ送信 ページ送信 果を表示する。 四則 四則演算要求 求 四則演算 四則演算 結果送信 CS_Calc.aspxの実行 Webブラウザでクライアントサイド この分離コードクラスを比較したと サンプルであるCS_Calc.aspxをアドレ リスト1がクライアントサイドで四則 きに、2つのサンプルの違いがさらに明 スに指定して実行すると、四則演算ペ 演算を行なうサンプル「CS_Calc」の 確になる。クライアントサイドで四則 ージが表示される。 CS_Calc.aspx、リスト2がサーバーサイ 演算を行なう場合は分離コードクラス 画面上の2つのテキストボックス欄に ドで四則演算を行なうサンプル「SS_ 自体が不要になり(図2) 、サーバーサ 数字を入力し、コンボボックスで四則 Calc」のSS_Calc.aspxのコードだ。 イドで四則演算を行なう場合は四則演 演算を選択してから、 [=]ボタンをク 算を VB.NET で記述することになる リックすると、以下の動作がすべて、 Webブラウザに送信する。 aspxファイルを比較したときの違い は、クライアントサイドで四則演算を (リスト3) 。 Webブラウザの中だけで行なわれる。 行なうときにはJScriptで計算ロジック 分離コードクラスがaspxファイルに を記述しているが、サーバーサイドで 対応したサーバー側のロジックを記述 ①[=]ボタンがクリックされると、On 四則演算を行なうときには計算ロジッ するクラスであることを考えれば、こ Clickイベントハンドラに記述された クは記述していないという点だ。 れは比較的簡単に理解できると思う。 「cmdExec_Click」関数がJScriptの 機能により呼び出される。 分離コードクラスの記述の違い 実行時の違い ASP.NETでは、aspxファイルに対応 <td><INPUT type="button" value=" = " name="cmdExec" onclick="cmdExec_Click()"></td> <td><INPUT id="txtAns" type="text"></td> したサーバー側ロジックは、 「分離コー 2つのサンプルでは、画面上の2つの ドクラス」と呼ばれるファイルに記述 テキストボックス欄に数字を入力し、 ②「cmdExec_Click」関数の中では、 する。分離コードクラスのファイル名 コンボボックスで四則演算を選択して ページ上の値を取得して四則演算を は、コードをVB.NETで記述するなら から、 [=]ボタンをクリックすると最 行ない、演算結果をページ上の所定 ば、aspxファイルに“.vb”を付けたフ 下行のテキストボックスに演算結果が の項目にセットする。 ァイル名(XXXX.asax.vb)となる。 表示される。この[=]ボタンをクリ dotNET Magazine 2003 July 79
© Copyright 2025 Paperzz