development guideline/ASP.NET
をテンプレートにして作成
Search in
this wiki
and
or
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
#ls2()
#contents
#br
** Webサイト構築前に決めておくべき事 [#j7dd3e4c]
- Webサイトの目的 (5W1Hで)
-- Webサイトのコンセプト
-- ターゲットユーザーの属性
-- ユーザーニーズ
-- コンテンツの展開方法
- サイト構造/ディレクトリ構成
- アクセシビリティ/ユーザービリティ/SEO指針
- ビジュアルデザイン基本方針
* Webページ共通 [#s169c366]
** 文字コード [#nc7058f6]
- Htmlとしてレンダリングされるファイル(*.aspx,*.ascxなど)...
- WebForm(*.aspx), ユーザーコントロール(*.ascx)ファイルの...
- ただし、モバイル用Webページの文字コードについては、旧機...
** ページキャッシュ [#c45801cf]
- キャッシュの設定はパフォーマンスとリアルタイム性のトレ...
** セッションタイムアウト [#rf28e2c2]
- あらゆる画面でセッションタイムアウトは発生する。安全に...
** ブラウザアクションへの対応 [#o9955e62]
- 「戻る」「進む」をはじめ、ページの「更新」「ソースの表...
** ポップアップ画面 [#h9b67136]
- ポップアップ画面開発の際には、複数起動されることや、タ...
** 例外処理 [#i8e763d7]
- 例外処理は、Global.asaxや基底ページ等で共通化すること。
-- ただし、個別の例外処理は、個々のページで実装すること。
- なにはなくても、以下の2つはcatchし、IISデフォルトのサ...
-- SesssionTimeOut
-- 予期せぬシステムエラー
- HTTP Status 400番台の処理はIISに任せ、妥当なエラーペー...
** アプリケーションパス [#v5ee062c]
- Webアプリケーション名は、URLの一部となる。後で変更でき...
-- サーバーコントロールのプロパティでは、「~(チルダ)」...
-- JavaScriptや、生HTMLのhref属性やonclick属性に記述する...
** ポストバック後のスクロールの位置の復元 [#eb0af5ad]
- 標準の状態では、ポストバック発生後にページを表示すると...
- web.configのpagesにmaintainScrollPositionOnPostBack="tr...
** シリアル化できないオブジェクトを、Sessionに格納しない ...
- セッション管理をinProc以外で実現した場合にも、正常に動...
- また、データサイズの大きなオブジェクトを、不要にセッシ...
- ちなみに、ViewStateにシリアル化できないオブジェクトを保...
** できるだけ、Session_OnEndイベントを利用しない [#a1ed60...
- セッション管理をinProc以外で実現した場合に、Session_OnE...
** head要素内ルール [#vcc89213]
- 文字化け回避のため、必ず最初にmeta要素のcharset属性で文...
- その直後に、title要素を記述する
- 続いて他のmeta要素、link要素、script要素の順で記述する
** 定型判定ロジック [#p2aa09ba]
- Page_Load()では、IsPostBack判定を実装すること。
- 各ユーザーアクションイベント(click等)ハンドラでは、IsVa...
* CSS [#uc81dead]
** タイプセレクタとclassセレクタを組み合わせて指定する(...
-- ⇔classセレクタだけで指定しない(例:.examples)
-- どの要素にも適用させたい汎用スタイルとして指定する場合...
* Webコントロール [#i889561a]
** コントロールの基底化 [#o04872f1]
- .NET Framework標準のWebコントロールは直接利用せず、継承...
-- 同種のコントロール全てに、同じ実装を追加したい場合には...
- 同種のコントロールの一部に、同じ実装を追加したい場合に...
- 特に、Pageクラスは基底クラスを必ず作成してから、開発を...
** ITextControl系コントロールのText属性初期値の記述場所 [...
- Label, Literal等、ITextControl系コントロールのText値は...
* バリデーション [#m6127f39]
** コントロールの基底化 [#r3ca071e]
- .NET Framework標準のValidatorコントロールは直接利用せず...
-- 全てのコントロールに同じ実装を追加したい場合に、その基...
* セキュリティ対策 [#vf8bca60]
** ボタン2度押し [#jec1b36f]
- TransactionToken機能を実装し、DBアクセスを伴うボタンの2...
※ StrutsのTransaction Tokenと同機能と考えてよい。
-- 登録処理が実行されるボタンには必須。
- JavaScriptだけに頼らない。
** クロスサイトスクリプティング(XSS) [#rdda394e]
- ユーザー入力値や、DBから取得した値をWebページにHTMLレン...
- 基本的には、拡張Webコントロール内で無害化処理を共通化し...
- 個別に実装する場合は、HttpServerUtility.HtmlEncode ()メ...
-- aspxファイルのPageディレクティブのvalidateRequest属性...
http://msdn2.microsoft.com/ja-JP/library/system.web.httpr...
** URLクエリ文字列の無害化 [#kc0ae713]
- URLのクエリ文字列に使用されるクエリ値は、HttpUtility.Ur...
- また、クエリ名称は無害化の必要のない文字列とすること。
終了行:
#ls2()
#contents
#br
** Webサイト構築前に決めておくべき事 [#j7dd3e4c]
- Webサイトの目的 (5W1Hで)
-- Webサイトのコンセプト
-- ターゲットユーザーの属性
-- ユーザーニーズ
-- コンテンツの展開方法
- サイト構造/ディレクトリ構成
- アクセシビリティ/ユーザービリティ/SEO指針
- ビジュアルデザイン基本方針
* Webページ共通 [#s169c366]
** 文字コード [#nc7058f6]
- Htmlとしてレンダリングされるファイル(*.aspx,*.ascxなど)...
- WebForm(*.aspx), ユーザーコントロール(*.ascx)ファイルの...
- ただし、モバイル用Webページの文字コードについては、旧機...
** ページキャッシュ [#c45801cf]
- キャッシュの設定はパフォーマンスとリアルタイム性のトレ...
** セッションタイムアウト [#rf28e2c2]
- あらゆる画面でセッションタイムアウトは発生する。安全に...
** ブラウザアクションへの対応 [#o9955e62]
- 「戻る」「進む」をはじめ、ページの「更新」「ソースの表...
** ポップアップ画面 [#h9b67136]
- ポップアップ画面開発の際には、複数起動されることや、タ...
** 例外処理 [#i8e763d7]
- 例外処理は、Global.asaxや基底ページ等で共通化すること。
-- ただし、個別の例外処理は、個々のページで実装すること。
- なにはなくても、以下の2つはcatchし、IISデフォルトのサ...
-- SesssionTimeOut
-- 予期せぬシステムエラー
- HTTP Status 400番台の処理はIISに任せ、妥当なエラーペー...
** アプリケーションパス [#v5ee062c]
- Webアプリケーション名は、URLの一部となる。後で変更でき...
-- サーバーコントロールのプロパティでは、「~(チルダ)」...
-- JavaScriptや、生HTMLのhref属性やonclick属性に記述する...
** ポストバック後のスクロールの位置の復元 [#eb0af5ad]
- 標準の状態では、ポストバック発生後にページを表示すると...
- web.configのpagesにmaintainScrollPositionOnPostBack="tr...
** シリアル化できないオブジェクトを、Sessionに格納しない ...
- セッション管理をinProc以外で実現した場合にも、正常に動...
- また、データサイズの大きなオブジェクトを、不要にセッシ...
- ちなみに、ViewStateにシリアル化できないオブジェクトを保...
** できるだけ、Session_OnEndイベントを利用しない [#a1ed60...
- セッション管理をinProc以外で実現した場合に、Session_OnE...
** head要素内ルール [#vcc89213]
- 文字化け回避のため、必ず最初にmeta要素のcharset属性で文...
- その直後に、title要素を記述する
- 続いて他のmeta要素、link要素、script要素の順で記述する
** 定型判定ロジック [#p2aa09ba]
- Page_Load()では、IsPostBack判定を実装すること。
- 各ユーザーアクションイベント(click等)ハンドラでは、IsVa...
* CSS [#uc81dead]
** タイプセレクタとclassセレクタを組み合わせて指定する(...
-- ⇔classセレクタだけで指定しない(例:.examples)
-- どの要素にも適用させたい汎用スタイルとして指定する場合...
* Webコントロール [#i889561a]
** コントロールの基底化 [#o04872f1]
- .NET Framework標準のWebコントロールは直接利用せず、継承...
-- 同種のコントロール全てに、同じ実装を追加したい場合には...
- 同種のコントロールの一部に、同じ実装を追加したい場合に...
- 特に、Pageクラスは基底クラスを必ず作成してから、開発を...
** ITextControl系コントロールのText属性初期値の記述場所 [...
- Label, Literal等、ITextControl系コントロールのText値は...
* バリデーション [#m6127f39]
** コントロールの基底化 [#r3ca071e]
- .NET Framework標準のValidatorコントロールは直接利用せず...
-- 全てのコントロールに同じ実装を追加したい場合に、その基...
* セキュリティ対策 [#vf8bca60]
** ボタン2度押し [#jec1b36f]
- TransactionToken機能を実装し、DBアクセスを伴うボタンの2...
※ StrutsのTransaction Tokenと同機能と考えてよい。
-- 登録処理が実行されるボタンには必須。
- JavaScriptだけに頼らない。
** クロスサイトスクリプティング(XSS) [#rdda394e]
- ユーザー入力値や、DBから取得した値をWebページにHTMLレン...
- 基本的には、拡張Webコントロール内で無害化処理を共通化し...
- 個別に実装する場合は、HttpServerUtility.HtmlEncode ()メ...
-- aspxファイルのPageディレクティブのvalidateRequest属性...
http://msdn2.microsoft.com/ja-JP/library/system.web.httpr...
** URLクエリ文字列の無害化 [#kc0ae713]
- URLのクエリ文字列に使用されるクエリ値は、HttpUtility.Ur...
- また、クエリ名称は無害化の必要のない文字列とすること。
ページ名: