疑問解決(ASP.NET)

2013/6/15

WindowsでWebシステム

 
・概要
 以前からあるASP(Active Server Pages)を、
 .NET向けにした物になります。
 VisualStudioを利用してGUI環境で開発できますが、
 Webの仕組みを判っていない人が簡単にできるというわけではありません。
 Postbackという仕組みを利用して、イベント駆動型プログラミングを実現しています。
・経緯
 Web開発の初期では、
 CGIやJavaサーブレットと様に、
 ロジック内にHTMLを出力させるやり方が一般的でした。
 そのため非常に判りずらいコードになっていました。
 その後ASP、JSPおよびPHPの様に、
 HTML埋込型のやり方が出てきましたが、
 やはりサーバサイド側の処理が複雑になると、
 プログラムのメンテナンスが難しくなります。
 そこで、ロジックとレイアウトを分離するようにしました。
 それがフレームワークで代表的な物のひとつがASP.NETになります。
・フロー
 Webブラウザからのリクエストがあると
 下記のフローでWebページが生成されます。

 1.Webブラウザからリクエスト受信
 2.aspxファイルからクラスファイルにコンパイル(初回のみ)
 3.クラスファイルからページインスタンスを生成。
   このときWebUIコントロールツリーを形成する。
・Web UI コントロールツリー

 

種 別 説 明
Webコントロール <asp:XXX runat="server">というタグを元にして作成されるオブジェクト。
.NET FrameworkのSystem.Web.UI.WebControls名前空間に
存在するクラスのインスタンスに変換される。

HTMLコントロール

<XXX runat="server">というタグを元にして作成されるオブジェクト。
.NET FrameworkのSystem.Web.UI.HtmlControls名前空間に
存在するクラスのインスタンスに変換される。
リテラルコントロール

上記以外

WebコントロールとHTMLコントロールはイベントハンドラから制御可能、HTMLに変換される という部分は共通ですが、同じコントロールがある場合は より高度なWebコントロールを利用するのが基本です。
・ポストバック
 本来Webは入力した情報を次の画面に渡します。
 この方法では、入力する画面とその情報を処理する画面が別になるため、
 わかりにくくなります。
 ASP.NETはそれを改善し、自分のWebページにデータを渡します。
 これをポストバックといいます。
 ただし、ASP.NETはリクエストごとにページインスタンスを作り直していますので、
 自分のWebページと言っても全く同じではなく、
 今まで入力したデータ等をどこかに保存しておく必要があります。
 そのデータを保存する仕組みをViewStateといいます。
・ユーザ状態管理

 

種 類 説 明
ViewState クライアント側に保存されます。
具体的にはHTMLコード内にBase64でエンコードされ、
HIDDENに記述されます。

Session   

サーバ側に保存されるため、
ViewStateに比べセキュリティが高いです。

・配置

 

キー ワード 説 明
absolute レイアウトフローからはずれ、
コンテナを基準として配置されます。

relative

コンテナからのオフセット位置に配置されます。   

fixed

IE7以降でサポートしています。
ブラウザウィンドウ基準として配置されます。

・イベント
マウスイベント

 

イ ベント名 イ ベント発行動作
onmouseover マウスを要素に重ねます。

onmouseout

マウスを要素内から要素外に移動します。

onmousedown

マウスボタンを押します。

onmouseup マウスボタンを離します。
onmousemove マウス要素内で移動します。
onclick 要素をクリックします。
ondblclick 要素をダブルクリックします。
キーイベント

 

イ ベント名 イ ベント発行動作
onkeypress キーを押します。
キーを押したままにすると、
複数のイベントが発生します。

onkeydown

キーを押します。
キーを押したままでも1回しか
イベントが発生しません。
onkeyup キーを離します。
・イベントバブル
コードの重複をさけることができるようイベントバブルという概念が導入されました。
・ASP.NET AJAX
可能な限りサーバ側で処理するというASP.NETの考えを
JavaScript(AJAX)にも当てはめたものです。
下記コントロールから成り立ちます。

名 称 解 説
ScriptManager 外部JavaScriptファイルを取り込むためのもので、
ASP.NET AJAXには必須のコントロール
必要になれば自動的に設定されるため、
基本的にScriptManagerに設定を行う必要はありません。 
UpdatePanel サーバコントロールを配置すると、
コードを変更することなくAJAX化することができる。 
UpdateProgress 通信中を表示するコントロールです。
Timer 一定感覚で処理を行うコントロールです。
・単語帳

名 称 解 説
DHTML
(Dynamic HTML)
JavaScriptなどのスクリプトによって、
動的にHTMLを操作すること。 
   
さらに情報がほしい方は下記で検索してください。
Google
・ TOPへ戻る

メールはこちらに