天天看點

.net 02

高效網站總結:

1.            線程

2.            高速緩存

3.            Master頁面

4.            主題和Skin

5.            站點導航

6.            個性化

7.            成員和角色管理

8.            Portal Framework 和 Web Part

9.            Web服務

10.     AJAX

11.    MVC

細節:

URL映射

server.Transfer(URL)

web.config urlMappings

UrlRewriter.NET         [W1]         web.config配置

Page指令的 MaintainScrollPositionOnPostBack   重新整理頁面時傳回原來的位置

asp.net 3.5進階程式設計目錄:

1.            應用程式和頁面架構

2.            伺服器控件和用戶端腳本

3.            Web伺服器控件

4.            驗證伺服器控件

5.            使用Master頁面

6.            主題和Skin

7.            .NET3.5中的資料綁定

8.            使用ADO.NET管理資料

9.            使用LINQ查詢

10.     使用XML和LINQ to XML

11.     IIS7.0開發

12.     提供程式模型概述

13.     擴充程式模型

14.      站點導航

15.      個性化

16.     成員和角色管理

17.     Portal Framework 和 Web Part

18.     用ASP.NET進行HTML和CSS設計

19.     ASP.NET AJAX

20.     ASP.NET AJAX控件工具集

21.     狀态管理

22.     高速緩存

23.     高度和錯誤處理技術

24.     檔案I/O和流

25.     使用者控件和伺服器控件

26.     使用業務對象

27.     建立和使用服務

28.      本地化

29.      配置

30.      測試

31.      管理

32.      打包和部署asp.net應用程式

附錄A 遷移asp.net項目

附錄B asp.net終極工具

asp.net 3.5進階程式設計: (ASP.NET進階程式設計(第5版) 清華出版)

第一章      應用程式和頁面架構

1.            内嵌編碼模式

2.           背景編碼模式

11個指令

<%@ Page  AutoEventWireUp= [W2] Inherits= [W3] "_Default" %>

<% @  Page  Language="c#"  ResponseEncoding ="gb2312"%>          設定目前 HttpResponse 物件的編碼語言。

<% @  Page  Language="c#"  CodePage ="gb2312"%>          設定目前 Page 的代碼頁辨別符。

MaintainScrollPositionOnPostBack 擷取或設定一個值,該值訓示回發後是否将使用者傳回到用戶端浏覽器中的同一位置。此屬性替換已過時的 SmartNavigation 屬性。

<%@ Page  Import Namespace=" " %>

在web.config檔案完成這個任務:

<namespaces>

<add  namespace=" " >

</namespaces>

<%@OutputCache  Duration="180" VaryByParam="None"  %>

Duration屬性指定這個頁面存儲在系統調整緩存中的時間(秒)

<%@  Reference  VirtualPath=" "  %>

另一個.net頁面或使用者控件應當與目前活動的頁面或控件一起編譯

<%          %>                   輸出指令

<%@          %>                   處理指令

<%@Page  %>                   特定屬性,僅用在aspx.檔案中,一個網頁僅能使用一個@Page指令

<%@Control  %>

<%@Import  %>

<%@Implements interface ="in   " %>

<%@Register  %>

<%@Assembly  %>

<%@Master  %>

<%@PreviousPageType  %>

<%@MasterType  %>

<%@OutputCache  %>

<%@Reference  %>

首頁面事件的 引發事件 :

@PreInit

@Init

@InitComplete

@PreLoad

@Load         if(!IsPostBack)

@LoadComplete

@PreRender

@PreRenderComplete

@UnLoad

應用程式檔案夾 (搜尋: ASP.NET 網站布局 )

處理 回送:

if(Page.IsPostBack == true) {  }

if(!Page.IsPostBack ){  }

跨 頁面的 傳送 :PostBackUrl  PreviousPage.FindControl         DEMO

第二頁面使用從第一個頁面中獲得的屬性  [W4]

(搜尋: 确定調用 ASP.NET 網頁的方式 )

确定請求是否來自Page1.aspx還是有人直接單擊了Page2.aspx  IsCrossPagePostBack 與asp.net 1.0/1.1中的IsPostBack屬性類似  DMEO

使用内置的提供程式  DEMO

使用自己

http://weblogs.asp.net/scottgu/archive/2007/02/26/tip-trick-url-rewriting-with-asp-net.aspx

下載下傳頁面:

http://sourceforge.net/projects/urlrewriter/files/

  true指定頁面事件自動觸發

預設為true

  指定編譯頁面時綁定到頁面上的類名

  要使用PreviousPageType指令

這個新指令允許使用VirtualPath屬性指向Page1b.aspx

之後就可以在PreviousPage屬性中通過IntelliSense檢視Page1.aspx

方法一: 要獲得前一個頁面傳送過來的控件值,隻需建立此控件類型的一個執行個體,并用 PreviousPage 屬性中的 FindControl 方法填充此執行個體

DEMO

方法二: 從第一頁面中擷取控件值的另一種方法是建立此控件的屬性,如第一頁 DEMO   第二頁 DEMO

注意 : 在從頁面傳送另一個頁面時,并不限于在第二個頁面上處理回頭的内容。實際上,還可以在Page1.aspx上為按鈕添加一個OnClick事件和一個方 法,再為PostBackUrl屬性指定一個值。然後就可以處理Page1.aspx上的回送,再移動到Page2.aspx上。

第一章 伺服器控件和用戶端腳本

HTML伺服器控件

Web伺服器控件

所有的控件都繼承了一個特定的基類 (webControl)

有的派生于Control類

HTMl伺服器控件都使用一個派生自HtmlControl基類(System.Web.UI.HtmlControl;)的類

把html元素轉換為控件:         runat = "server" 

或者右擊此元素,從菜單中選擇Run as server control

就必須包含id屬性

HtmlControl 基類

基類 HtmlContainerControl [W1] 用于一些HMTL類,這些類主要包含可以包含在單個節點中的HTML元素。例如,<img><input><link>元素用于派生HtmlControl類的類。

其他HTML元素,例如<a><form><select>,需要一對開閉标記。這些元素使用派生于 HtmlContainerControl類 的類

所有的HTML類         [W2]         (搜尋:System.Web.UI.HtmlControls 命名空間)

使用 HtmlGenericControl 類: [W3]

通過 javascript 處理頁面和伺服器控件 

<body οnlοad=" javascript :document.forms[0]['TextBox1'].value=Date();">  DEMO

使用 Page . ClientScript 屬性在.net頁面上注冊使用 javascript 函數        

RegisterClientScriptBlock DEMO

更多的方法和屬性可通過ClientScript對象(它引用了System.Web.UI.ClientScriptManager的一個執行個體)來獲得。 [W4]

RegisterClientScriptInclude 方法可以在頁面上注冊腳本.js 檔案 DEMO

用戶端回調 (類似ajax) aspx DEMO   cs DEMO

帶一個參數的回調功能        aspx DEMO  cs DEMO

第二章 Web伺服器控件

Label          AccessKey快捷鍵          AssociatedControlID綁定其他控件

Literal          Mode="Encode" 輸入HTML編碼

TextBox          TextMode

Focus()方法         

派生于WebControl基類的伺服器控件,都可以使用WebControl的Focus方法(如: TextBox )

TextBox1.Fouce();          //頁面加載時,光标已經位于文本框中

OnTextChanged()方法

DEMO          給TextBox控件添加AutoPostBack屬性,true

使用 AutoCompleteType 屬性  允許對窗體應用 自動完成 功能

Button

CausesValidation ="False"          此按鈕不引發驗證過程

CommandName =" Button_Command "                   讓多個按鈕來處理單個事件

OnClientClick 屬性,指向用戶端函數  DEMO

PostBackUrl          跨頁面傳送

LinkButton

ImageButton    [W5]

HyperLink                   ImageUrl [W6]

DropDownList   ListBox [W7] CheckBoxList   RadioButtonList 控件可以從控件的集合中可視化地                   删除資料項,而且可以操作未顯示在伺服器端代碼中的項 DEMO

CheckBox                   if( CheckBox 1.Checked == true)

Calendar         

選擇一個日期          [W8]          從選項提取一個日期範圍

控制月曆中的日期如何展示         

AdRotator                   廣告 XMLDemo

Panel    HorizontalAlign 對齊  ScrollBars  Direction (把滾動條放在Panel控件的哪邊)

PlaceHolder          DEMO

BulletedList          BulletStyle 清單顯示樣式

BulletStyle ="CustomImage" BulletImageUrl ="~/myImage.gif"   //用圖像作為項目符号

DisplayMode ="LinkButton"   //第項變成超連接配接 [W9]

動态填充BulletedList伺服器控件

HiddenField                  

FileUpload         

指定正确的ASP.NET 權限 給上傳檔案         

檔案大小的 限制  web.config中修改httpRuntime (要位于<System.web>節點間)預設為4MB

maxRequestLength          指定發送給伺服器的請求的大小 KB

executionTimeout          指定在被 ASP.NET 自動關閉前,允許執行請求的最大秒數。

DEMO    SaveAs  PostedFile.FileName  PostedFile.ContentLength

給 伺服器上傳多個檔案 HttpFileCollection  Request.Files

把上傳的檔案放在 Stream 對象中          DEMO   FileContent

把檔案内容從 Stream 對象移動到 Byte 數組中          DEMO

MultiView                            DEMO

Wizard                   DEMO    在控件内建立窗體

HeaderText ="标題"

WizardStep

AllowReturn ="False" 不能向後導航包含此屬性的已檢視過的步驟         

StepType ="Finish"

ImageMap                   指定可單擊的圖像部分

第三章 驗證伺服器控件  Page.IsValid

ErrorMessage ="must enter  name" Text ="*" 兩屬性差別

foreach(BaseValidator bv in Page.Validators)

關閉 用戶端驗證功能:

DEMO   EnableClientScript="false"

DEMO2

為錯誤通知使用 圖像 和 聲音 :

DEMO          使用圖像 Text ='< img src="01.gif">'

DEMO          使用聲音 Text ='< bgsound src="12.wav">'

使用 驗證組 : DEMO   .net 3.5 新屬性 

ValidationGroup ="Login"   不僅驗證控件有這個屬性, Button 伺服器控件也有

不通過驗證的 自動獲得焦點: SetFoucOnError="True"

RequiredFieldValidator          檢查是是否輸入了資訊  DEMO

InitialValue 屬性                   指定文本元素的初始值,并要求使用者更改其值

要求改變初始值,且同時禁止空白條目,用到兩個控件 DEMO

驗證下拉清單 DEMO         

CompareValidator                   可以比較兩個窗體元素,也可以比較窗體元素包含的值與指定的常量。例如,可以指定窗體元素的值必須是一個整數,且大于指定的婁。也可以要求值必須是字元串,日期或其他類型  Operator : 大于 小于 等于

根據其他 控件 來驗證                   DEMO

根據 常量 來驗證                   DEMO   Type ="Integer"

DEMO2 ValueToCompare="18" Operator="GreaterThan"//大于19

RangeValidator                            根據一個數字範圍或字母範圍檢查使用者的輸入

DEMO   MaximumValue ="40" MinimumValue ="30"

DEMO   檢查日期  Type ="Date"

RegularExpressionValidator          檢查使用者的輸入是否比對正規表達式定義的模式,電子郵件,電話等            DMEO   ValidationExpression ="/w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*"

CustomValidator                            使用定制的驗證邏輯檢查使用者的輸入

使用用戶端驗證                   DEMO   ClientValidationFunction ="validateNumber"

使用服務端驗證                   DEMO

聯合使用用戶端和服務端驗證          DEMO

ValidationSummary                   在頁面的一個特定位置顯示驗證器的所有錯誤消息

DEMO         

DMEO2   ErrorMessage ="must enter  name" Text ="*"

DEMO3   使用對話框報告驗證錯誤 

ShowSummary ="False" 表示帶項目符号的錯誤清單不顯示出來

ShowMessageBox ="True"

第四章 使用Master頁面

以 程式設計 方式将 Master 頁面賦予内容頁面 Page_PreInit  DEMO

Web .config檔案指定Master頁面         

< system.web >

< pages    masterPageFile = " ~/MasterPage.master " >

</ pages >

</ system.web >

隻把 Master頁面應用于一個頁面子集(例如包含在應用訓育特定檔案夾中的頁面)

< location path = " AdministrationArea " > [W10]

< system.web >

< pages    masterPageFile = " ~/MasterPage.master " >

</ pages >

</ system.web >

</ location >

Master頁面的嵌套   MasterPageFile

全面頁面标題

使用Master頁面中的控件和屬性

擷取内容頁面中Label控件的Text值   使用Master頁面提供的FindControl方法 擷取頁面上的控件

把Master頁面上的伺服器控件設定為公共屬性,FindControl找不到控件時 就不易出錯 DEMO

重寫Master頁面上的Label控件的一個屬性 DEMO

覆寫Master頁面中屬性的内容頁面   PageHeadingTitle

特定浏覽器的Master頁面   Mozilla:MasterPageFile=

事件的觸發順序:

Master頁面子控件的初始化:先初始化Master頁面包含的所有伺服器控件

内容頁面子控件的初始化:初始化内容頁面包含的所有伺服器控件

Master頁面的初始化:初始化Master頁面

内容頁面的初始化:初始化内容頁面

内容頁面的加載:加載内容頁面(這是Page_Load事件,後跟Page_LoadComplete事件)

Master頁面的加載:加載Master頁面(這也是Page_Load事件,後跟Page_LoadComplete事件)

Master頁面子控件的加載

内容頁面子控件的的加載

高速緩存Master頁面:

<%@  OutputCache  Duration = "10" Varybyparam="none" %>

這會有伺服器的記憶體中把頁面緩存10秒,可以用于包含不會很快過時的頁面

此指令隻能用于 内容 頁面

ASP.NET AJAX  和 Master頁面:

必須把 ScriptManager 控件放在Master頁面上 DMEO

一個頁面上隻能有一個 ScriptManager 控件

直接建立立 AJAX  Master頁面

通過Master頁面包含js腳本 DEMO  <asp:ScriptReference Path=

如果内容頁面還需要使用 Ajax 功能,就需要使用位于Master頁面的 ScriptManager 控件

可使用 ScriptManagerProxy 控件通路Master頁面上的 ScriptManager 控件  

此頁面内容使用 ScriptManagerProxy 添加額外的腳本   DEMO

第五章 主題和Skin

主題檔案          DMEO

主題應用于整個應用程式                   DEMO

SkinId

EnableTheming = "false"                   //不把主題應用于此控件上

可以使用(如Panel控件)封裝其他控件,再把其設定 EnableTheming

Page指令也可以

優先采用Master頁面的 EnableTheming 設定

< asp : TextBox ID ="TextBox1" runat ="server" BackColor ="#003300"></ asp : TextBox >

如果Page指令使用 Theme 屬性來指定主題,主題會重寫 BackColor ,如果使用 StylesheetThele 屬性,本地設定的屬性會不變

.skin檔案 與.aspz頁面上的正常控件定義一樣,也包含runat = "server"

控件的skin版本中沒有指定ID屬性

在主題檔案夾建立 Images 檔案夾,放置圖檔

在 TreeView 控件中使用 theme 檔案夾中的圖像          DEMO

WebParts 控件用于建立入口 合并 theme 檔案夾中的圖像  DEMO

CSS中直接使用圖像 DEMO

伺服器控件的多個版本 SkinID="TextboxDotted"          DMEO

而預設的skin是檔案中一個沒有SkinID屬性的Skin

程式設計使用主題:

程式設計指定頁面的主題          DEMO

必須在頁面上靜态控件的Page_PreInit事件觸發之前設定Page屬性的主題,

如果使用動态控件,就應把此控件加到Controls集合中之前,設定Theme屬性

程式設計指定控件的SkinID          同樣,也是在代碼Page_PreInit事件中或之前使用這個屬性

禁止給定制控件應用主題          [Themeable(false)]          DEMO

禁止對定制控件上的 屬性 應用主題          DEMO

把一個主題定義應用于定制控件  要把Themeable屬性設定為true  DEMO

改變定制控件中的屬性          DEMO

第六章 .NET3.5中的資料綁定

所有的資料源控件都派生于 DataSourceControl 類,而DataSourceControl類派生于 Control ,實作了 IDataSource 和 IListSource 接口

也就是說,雖然每個控件都使用特定的資料源,但所有的資料源控件共享一組基本的 核心 功能。這也說明,很容易根據特定資料源的結建構立定制的資料源控件

控件名 說明
SqlDataSource

允許通路支援ADO.NET資料提供的所有資料源

ODBC/OLE DB/SQL SERVER/ORACLE/SQL SERVER CE

DataSourceMode屬性:

(告訴控件,在檢查資料時,是使用DataSet還是使用DataReader)

DataReader:隻前向的隻讀光标, [W11]

DataSet:能執行過濾,排序或分布等其他操作,控件的調整緩存功能

使用SelectParameters過濾資料 [W12] :

用于在運作時修改從查詢中傳回的數值

(好像可視化修改SelectQuery參數)

ConflictDetection屬性:

告訴控件在更新資料時使用什麼樣式的沖突檢測。如果多個使用者嘗試修改相同的資料,它确定了執行什麼操作。

更新資料後,檢測并發錯誤 DEMO

用資料源事件處理資料庫錯誤: DEMO

LinqDataSource 使用Linq查詢通路不同類型的對象
ObjectDataSource 對業務對象或其他傳回資料的類執行特定的資料通路 要建立xsd資料集
XmlDataSource

< asp : XmlDataSource ID ="XmlDataSource1" runat ="server"

            DataFile ="http://msdn.microsoft.com/rss.xml" XPath ="rss/channel/item">

        </ asp : XmlDataSource >

SiteMapDataSource 對站點地圖提供程式所存儲的web站點進行特定的站點地圖資料通路
AccessDataSource

配置資料源控件的高速緩存功能: EnableCaching ="True"   CacheDuration=" Infinite "

除了SiteMapDataSource控件外,調整緩存自動内置于.net所有的資料源控件中。

所有的資料源控件(除SiteMapDataSource外)都可以建立基本的高速緩存政策,包括調整緩存的方向、期限政策和關鍵字依賴

提示:隻有把DateSourceMode屬性設定為DataSet,才能使用 SqlDataSource 控件的高速緩存功能。如果此屬性設定為 DataReader ,控件就會抛出一個NotSupportedException

高速緩存的期限可以設定為特定的時間長度,例如3600秒(60分),也可以把它設定為 Infinite ,使高速緩存的資料永遠不過期。

存儲連接配接資訊: web.config

在運作時修改連接配接字元串屬性          DEMO

使用ConnectionStringBuilder動态建立連接配接字元串,并把它們儲存到web.config檔案中  DEMO

使用綁定的清單控件和資料源控件:

GridView

使用 EmptyDataText t [W13] 和 EmptyDataTemplate 屬性

編輯其行資料  (給控件添加UpdataCommand屬性) 在其資料源 更改進階SQL生成選項

DetailsView

ListView

FormView

其他資料綁定控件:

DropDownList

ListBox

RadioButtonList

CheckBoxList

TreeView

Ad Rotator

Menu

内部資料綁定文法:

3.5中的文法 内部資料綁定的内容基本沒變,但文法較簡單,

<%#  Container.DataItem("Name")   %>

<%#  Eval("Name")   %>

<%#  Eval("HireDate","{0:mm dd yyyy}")   %>

雙向綁定 <%#  Bind("Name")   %>   支援資料的讀取和定入

新的bind方法應在控件 GridView DetailsView FormView 中使用,這些控件能自動更新資料源

表達式的額外功能:

<%#  "232323232" + Eval("Name")   %>

<%#  DoSomeProcess(Bind("Name"))   %>

XML資料綁定:

<%  XPathBinder.Eval(Container.DataItem,"emplotees/employee/Names")  %>

<%  XPath("emplotees/employee/Names")   %>

<%          XPath("emplotees/employee/Date","{0:mm dd yyyy}")          %>

傳回比對XPath查詢的一個節點清單

<%          XPathBinder.Select(Container.DataItem,"employees/employee")          %>

或者使用縮寫<%  XPathSelect("employees/employee") %>

第七章 使用ADO.NET管理資料

ADO.net連接配接Sql Server 資料庫通過 SqlConnection 對象 來實作

ADO.net連接配接 Access 資料庫通過 OleDbConnection 來實作資料庫連接配接 [W14]

Connection           DEMO          使用web.config檔案中的連接配接字元串 DEMO

Command           DEMO          [W15] select語句

DataAdapter           資料擴充卡 DEMO    select updata delete竺語句                   

DataReader          DEMO   ExecuteReader

DataSet  DataTable  

從DataReader中加載DataTable  DEMO

通路類型化的DataSet中的一個字段 DMEO

使用參數:

有助于防止可能的SQL注入攻擊 DEMO

參數插入資料庫          DMEO  10-5.aspx.cs         10-5.aspx

用 OracleClient 對象連接配接Oracle資料庫  DMEO [W16]

指令的異步執行:

要使用.net 2.0中的異步處理,需要給連接配接字元串添加 Asynchronous Processing = true;

SqlCommand類的異步方法:

BeginExecuteNonQuery

EndExecuteNonQuery。。。。包括其他的重載方法

BeginExecuteReader

EndExecuteReader.......

IAsyncResult接口:

SqlCommand類的所有異步方法都傳回一個對象的引用,此對象實作了 IAsyncResult 接口

AsyncCallback

SqlCommand類的一些異步方法接收一個AsyncCallback類的執行個體

WaitHandle類

ADO.NET 中異步處理的方式:

poll方式                   DEMO

Wait方式                   DEMO   使用System.Threading. WaitHandle 類的 WaitOn 方法

使用多個等待句柄  最好的

組合使用多個等待句柄和MARS  DMEO

使用WaitAny方法處理多個異步程序  DMEO

回調方式  DMEO

第八章 使用LINQ查詢

LINQ to Objects        其功能位于System.Data.Linq程式集中

傳統 的查詢方式:          Movie類 DEMO 

生成一列Movie對象,并綁定到GridView上 DEMO

過濾列出的Movie對象          DEMO

對Movie對象清單進行分組和排序          DMEO

用 LINQ 替代傳統 查詢 :

基本的LINQ查詢的投射                   添加LINQ命名空間 demo

建立查詢          DEMO

建立定制投射          DMEO

建立定制投射的字段名稱          DEMO

控件對象的排序          DEMO

查詢過濾器          DMEO

資料分組                   DEMO

其他資料運算符 Count MIn Max等          DEMO

連接配接                   DEMO

分頁                   DEMO

LINQ to XML (或XLINQ)

.net framework中大多數XML功能都位于System.Xml命名空間中,但XML對整個Framework的影響還包括System. Data 和Sysem. Web 命名空間

XML demo [W17]

查詢XML資料檔案          DEMO

映射XML元素          DEMO

連接配接XMl元素                   DEMO

XML  DEMO   DEMO

XSD  DEMO

LINQ to SQL (或DLINQ)

會自動把生成的類顯示為單數形式

LINQ to SQL中查詢Movie資料                   DEMO

把查詢寫到輸出視窗中                   DEMO

分組                   DEMO

用視圖查詢          DEMO

從存儲過程選擇資料                   DEMO          簡單的存儲過程

使用LINQ插入資料            InsertOnSubmit          InsertAllOnSubmit  DEMO

更新資料                   DEMO

删除資料                   DEMO

第九章 使用XML和LINQ to XML

用XmlReader處理XML          DEMO

XDocument處理XML [W18]          DEMO

用XmlReader驗證XML          DENO

用NameTable 優化XmlReader          DEMO

從XML中提取.NETCLR類型

使用XmlReader.ReadElementContentAs   DEMO

用XmlWriter建立XML 用XmlWriter輸出bookstore          DEMO

用XPathDocument和XPathNOdelterator查詢XML          DEMO

用XPath表達式查詢XDocuments          DEMO

XmlDataSource控件          DMEO

第十章 IIS7.0開發

第十一章 提供程式模型概述

.net 3.5的新系統要求有較進階的狀态管理,這些系統包括:

成員

角色管理

站點導航

個性化

健康監控Web事件

Web Part個性化

配置檔案保護

ASP.NET配置(web.config)無法連接配接到SQL Server 資料庫的解決方法

配置SQL Server 2005 以允許遠端連接配接

預設情況下,這些系統隻能使用新的sql server express 版本的檔案(.mdf),不能與比較成熟的sql server版本一同使用,如sql server 7  2000  2005等

設定提供程式

>aspnet_regsql.exe  -A  all  -E

在web.config檔案中修改連接配接字元串,以使用sql server 2005          DEMO

修改通過配置使用的SQL server DMEIO  這樣 sql 2005執行個體就是一個可用于應用程式的的提供程式了

Membership提供程式   這兩個成員提供程式繼承了MembershipProvider基類

System.Web.Security.SqlMenbershipProvider                   使 用成員系統連接配接sql server 2000/2005和新的express版本。預設的提供程式是SqlMenbershipProvider執行個體。在應用程式伺服器上,每個 ASP.NEtT應用程式的預設聲明位于machine.config檔案中,這檔案位于../Framework/v2.0.50727/CONFIG 目錄中  DEMO

System.Web.Security.ActiveDirectoryMembershipProvider          使用成員系統連接配接Microfost Active Directory

Role提供程式         

System.Web.Security.SqlRoleProvider                   連接配接角色管理系統和SQL Server 2005 DEMO

System.Web.Security.WindowsTokenRoleProvider

System.Web.Security.AuthorizationRoleProvider

SiteMap提供程式

System.Web..XmlSiteMapProvider

SessionState提供程式

Web事件提供程式

配置提供程式  加密配置檔案的各個部分

WebParts提供程式

第十二章 擴充程式模型

第十三章 站點導航

使用 SiteMap 類或 SiteMapDataSource 控件 [W19] 與這個導航資訊互動

站點地圖  demo

PathSeparator 屬性                   更改">"   DMEO   DMEO2

PathSeparatprTemplate 元素                   更改">",可以放置Image控件 DEMO

PathDirection          改變輸出中生成的連結方向

ParentLevenlsDisplayed          會隻顯示指定深度的頁面

TreeView 伺服器控件

要填充TreeView控件的節點,不僅可以使用.sitemap檔案,還有許多其他方式。一種比較好的方式是使用 XmlDataSource 控件(而不是SiteMapeDataSouce控件)從XML檔案中填充TreeView控件

程式設計          擴充或折疊TreeView控件的節點          DEMO

程式設計展開特定的節點                   DEMO

使用Expanded屬性程式設計展開節點          DMEO

給TreeView控件程式設計添加節點                   DEMo

Menu伺服器控件   DEMO

要使用 SiteMapDataSource 控件   SiteMapDataSource會自動處理Web.sitemap檔案

使用預定義的樣式  DEMO

改變 靜态 項的樣式          DMEO [W20]

給 動态 項添加樣式          DEMO [W21]

修改菜單項的布局          DEMO   垂直

改變彈出符号          使用定制的圖像          StaticPopOutImageUrl="myArrow.gif"

用圖檔分隔          ynamicBottomSeparatorImageUrl="myDivider.gif"

使用Menu控件和XML檔案          DEMO

SiteMap  API

URL映射         :         urlMappings   DEMO

要映射到應用程式不包含的頁面上

server.Transfer(URL)

安全補償 security trimming

<siteMapNode>  的role屬性

預設情況下,安全補償功能是禁用的,

在web.config檔案中啟動角色管理系統         DEMO

在web.config檔案中鎖定AdminOnly.aspx頁面 demo

啟動提供程式中的安全補償功能         DEMO

then就可以在站點導航系統中使用<siteMapNode>  的role屬性了

嵌套站點地圖檔案

Entertainment.sitemap

then給Web.sitemap檔案添加新内容        

< siteMapNode  siteMapFile=" Entertainment.sitemap " />

在同一個Web.sitemap檔案中使用另一個提供程式  DEMO

then給Web.sitemap文 件中使用第二個提供程式

< siteMapNode  privider="AspNetXmlSiteMapProvider2" />

第十四章 個性化

建立個性化屬性

添加簡單的個性化屬性         DEMO        

把個性化屬性應用于匿名使用者的功能在預設情況下是禁用的

使用定義好的個性化屬性         DEMO

使用後期的綁定技術         DEMO

添加一組個性化屬性         DEMO

使用分組的個性屬性         DEMO

定義類型         DEMO

建立一個要用作個性化類型的 類 DEMO   web.config指定個性屬性用 複雜類型 (類) DMEO

預設值         DMEO

屬性指定方隻讀         readonly="True"

允許進行匿名身份識别         DEMO

給匿名身份修改Cookie的名稱         DEMO

管理應用程式的配置資訊         建立ProfileManager.aspx頁面         DEMO

第十五章 成員和角色管理

傳統上,處理Windows Forms 應用程式(胖客戶)時,使用 Windows Integrated Authentication;

處理基于浏覽器的應用程式(瘦客戶)時,使用 Forms 驗證

< authentication mode = " Forms " />

打開了使用.net 3.5提供成員服務所需要的所有功能

終端使用者嘗試通路站點時,使用匿名身份進入站點,這是默許的身份驗證模式

給web.config檔案添加<forms>元素         修改Fomrs驗證系統的行為 DEMO

添加使用者

使用 CreateUserWizard 伺服器控件         把注冊使用者放在資料庫中,以便以後進行檢索

重新設定sql server的成員的提供程式,使之不需要密碼包含非數字和字母的字元 DEMO

ContinueButtonClick事件 單擊時

CreateUser事件                 成功建立一個使用者時觸發

從注冊過程中合并個性化屬性

先在web.config檔案中建立個性化屬性         DMEO

than使用個性化屬性和CreateUserWizard控件         DEMO

程式設計建立使用者         DEMO

捕獲特定的MembershipCreateUserException值         DMEO

authorization 拒絕未驗證的使用者          DEMO

使用Login伺服器控件          DMEO

程式設計登入使用者                   DEMO

鎖定輸入錯誤密碼的使用者          在提供程式聲明中修改密碼嘗試次數          DEMO

處理驗證使用者: LoginStatus         LoginName

LoginStatus控件的登入和登出功能         DEMO

顯示驗證使用者的使用者名         DEMO

顯示線上使用者數         DEMO                 時間範圍在machine.config檔案設定,

<membership  userIsOnlineTimeWindow="15"></membership >         15分鐘

處理密碼:

ChangePassword控件         允許使用者修改密碼         DMEO

PasswordRecovery控件        

建立SMTP伺服器

在web.config檔案中配置通過電子郵件傳送的密碼                 DEMO

從資料庫中提取密碼         DEMO [W22]

生成随機密碼         DMEO

用陙 機密碼建立使用者         DMEO

3.5的授權:

通過LoginView控件控件顯示的資訊                 DEMO

角色管理   machine.config.comments檔案中的角色管理提供程式設定 DEMO

web.config檔案         DEMO

給應用程式添加角色         DEMO

Roles.GetAllRoles()         傳回服務中所有角色的String集合

從應用程式中删除角色         DEMO

給角色添加使用者:

Roles.AddUsersToRoles(usernames9()  As String ,rolenames()  As  String)        

從角色删除使用者:

Roles.RemoveUsersFromRoles(usernames9()  As String ,rolenames()  As  String)        

查找某個角色的所有使用者         DEMO

擷取包含某個使用者的所有角色         DEMO

在某個角色查找特定的使用者         DEMO

設定提供程式

>aspnet_regsql.exe  -A  all  -E

第十六章 Portal Framework 和 Web Part

WebPartManager控件必須放在Portal Framework的應程式的每個頁面中。一個WebPartManager隻能管理一個頁面。

也可以把WebPartManager控件放在Master頁面上,進而避免每個内容頁面上放置一個WebPartManager控件

建立多個Web區域          DEMO

WebPartZine控件         

LayoutOrientation屬性          水準或直

ZoneTemplate元素          封裝了一個區域中的所有項

給頁面添加模式清單                   DEMO

給頁面添加 Web Part  添加Catalog Zone          DEMO                   [W23]

修改Web Part設定          在頁面上添加Editor Zone          DMEO

Behavior 塊允許終端使用者選擇是否關閉、最小化和導出Web Part

為顯示Behavior塊,首先要修改Web.config檔案          DEMO

添加一些代碼,以顯示Behavior塊,          DMEO

連接配接 Web Part   會用 <asp:ConnectionZone>控件在兩個Part之間建立連接配接

禁用修改區域的功能                   DEMO

通過其他方式添加控件 

DeclarativeCatalogPart 控件          DEMO

合并目錄類型          DMEO

Web Part動詞

<CloseVerb>                   使Web Part中的Close連結灰顯 DMEO

删除Close連結          DMEO

<ConnectVerb>

<DeleteVerb>

<EditVerb>

<ExportVerb>

<HelpVerb>

<MinimizeVerb>

<RestoreVerb>

給 Web Part動詞使用圖像                   DMEo

使用Web Part中的類:

WebPartManger

WebPartZone

WebPart

建立定制的Web Part控件                   DEMO

建立提供程式 Web Part

建立一個接口以提供用于傳遞給Web Part的屬性          DEMO

建立定制的提供程式Web Part          DEMO

建立使用者Web  Part          DMEO

連接配接ASP。NET頁面上的Web Part          DMEO

連接配接Web Part時處理Master頁面時,使用 ProxyWebPartManger 控件

第十七章 用ASP.NET進行HTML和CSS設計       引用

視圖                   管理樣式          應用樣式

在Master頁面中管理相對CSS連結

第十八章 ASP.NET AJAX

ScriptManager 控件,負責加載ASP.NET AJAx 需要的JavaScript庫

ScriptManagerProxy 控件,專門用于master頁面                  

如果要以任何方式修改Master頁面上的ScriptManager控件,就必須在内容頁面上添加一個ScriptManagerProxy控件

Timer 控件                   DMEO

UpdatePanel 控件         

<ContentTemplate>元素          DEMO

<Triggers>          元素                   DMEO          [W24]

在VS2008中建立 Triggers 觸發器

UpdateProgress 控件

顯示文本資訊          DMEO

控制資訊顯示的時間                   DMEO

在<ProgressTemplate>中添加圖像控件

使用多個UpdatePanel控件                   DMEO

UpdateMode屬性(Always表示每個UpdatePanel控件總是在每次異步請求時更新  Conditional表示僅在滿足一個觸發條件時更新)                   DEMO

asp.net ajax 文法

第十九章 ASP.NET AJAX控件工具集

www.asp.net/ajax

常通路這些控件的CodePlex頁面

AlwaysVisibleControlExtender 控件          DEMO         

指定在需要滾動的長頁面上總是顯示出來

AnimationExtender 控件          DMEO

編寫動畫可以使用以下和事件:

OnClick

OnHoverOver

OnHoverOut

OnLoad

OnMouseOver

OnMouseOut

AutoCompleteExtender 控件          自動比對所輸入的結果          aspx.cs          aspx        

CalendarExtender 控件                   隻有單擊此才會彈出月曆          DEMo

PopupControlExtender 控件          為任何控件建立彈出視窗。 DEMO

CollapsiblePanelExtender 控件         

把一個控件折疊到另一個控件          DMEO

使用Label控件展開和折疊Panel控件          DMEO

ConfirmButtonExtender 控件

通常在允許終端使用者通過浏覽器應用程式删除資料之前,都要終端使用者确認此操作          DMEO

建立自己的确認窗體                   DEMO

DragPanelExtender          在頁面上拖動Panel控件          DMEO

DropDownExtender          使用Image控件作為下拉清單的啟動器          DMEO

DropShadowExtender                   陰影等 Rounded屬性設定為True就圓角 DEMO

DynamicPopulateExtender          獲得HTML輸出,之後把HTML輸出放在Panel控件上          aspx.cs          aspx        

FilteredTextBoxExtender          限制文本框隻能使用數字          DEMO

HoverMenuExtender                   相當于工具提示         

ListSearchExtender                   擴充ListBox控件          DEMO

MaskedEditExtender          maskededitvalidator          擴充了 FilteredTextBoxExtender 控件          DEMO

Mask  蒙闆字元

9:僅輸入數字

L:僅輸入字母

$ : 僅輸入字母或空格

C:僅輸入定制字元(區分大小寫)

A:僅輸入字母或定制字元

N:僅輸入數字或定制字元

?:任意字元

除字元限制外,模闆中使用的分隔符如下:

/ 日期分隔

: 時間

.  小數

,千位分隔

/  轉義

{ 重複蒙闆的起始分隔符

} 重複蒙闆的結束分隔符

maskededitvalidator 使用它的ControlExtender屬性把它自己和MaskedEditExtender控件關聯起來,使用ControlToValidate屬性檢查窗體上的特定控件。  EmptyValueMessage指定錯誤的資訊

ResizableControlExtender

可以提取一個Panel控件,讓終端使用者捉取一外句柄,改變元素的大小 DEMO

RoundedCornersExtender 圓角          DMEO

TextBoxWatermarkExtender          文本水印功能          DEMO          給水印應用樣式 DMEO

ToggleButtonExtender                  

處理複選框控件,可以使用自己的圖像替代複選框控件一般使用的标準複選圖像 DMEO

UpdatePanelAnimationExtender

可以使用兩個特定的事件把動畫應用于Panel控件上。第一個事件是OnUpdating,第二個事件是OnUpdated,接着使用ASP。NET AJAX動畫架構          DEMO

ValidatorCalloutExtender

添加更加引人注意的有效性驗證資訊                   DEMO

SlideShowExtender          張燈片          aspx.cs          aspx        

SliderExtender 滑塊          DMEO

MutuallyExclusiveCheckBoxExtender          一組複選框,把它們用作單選按鈕          DEMO

NumericUpDownExtender          可以把上/下訓示器放在文本框控件旁邊                   DEMO

對控件使用字元而不是數字          DEMO

PagingBulletedListExtender                  

可以使用很長的項目清單,并給清單按字母順序分頁          DEMO

AJAX控件工具箱中的 伺服器 控件:

Accordion          控件                   可折疊的面闆                   DEMO

包含表示為accordionpane 控件的面闆

PasswordStrength          DEMO

檢查文本框控件中密碼的内容,驗證其保密強度,它還給使用者提供一個資訊,說明此強度是否合理

Rating          星級                   DMEO

TabContainer          标簽                   DEMO

NoBot  用于确定實體如何與窗體互動,幫助確定人們使用窗體,而一些自動化代碼不操作應用程式         

限制登入窗體          aspx.cs          aspx        

第二十章 安全性

第二十一章 狀态管理

.NET内置對象

Application 對象    DMEO

對任何使用者請求的.net應用程式的所有網頁都可用

線上使用者          Global.asax   aspx.cs   aspx

Session 對象

對單個使用者請求的.net應用程式的所有網頁都可用

DEMO         所需的類         cs         aspx.cs   aspx

輸出Session内容                  DEMO

Session .Clear ();                 清除

Session.Timeout = 2;         過期

優化會話性能 的進階技術<@Page  EnableSessionble  = " " >         [W25]

如果應用程式不使用Session,在Web.config檔案中設定Mode=“OFF”

會減少整個應用程式的開銷

Cookie 對象

DEMO         DEMO2                 MyCookie_t. Expires .AddYears(100);   過期

Sever 對象

擷取伺服器的路徑         DEMO         Server.MapPath("books.xml")          得到此檔案的完整檔案名

防止腳本入侵                 DEMO         Server.HtmlEncode

頁面中亂碼的處理         DEMO         Server.UrlEncode()  Server.UrlDecode()

Response 對象

緩存機制         DMEO

伺服器日志         Response. AppendToLog (" 這是一個伺服器 ");        

日志檔案路徑 IIS中 啟用日志記錄F:/WINDOWS/system32/LogFiles

Response. End ()停止頁面資訊輸出          DEMO          Response.Flush();//立即輸出緩存

Response.AddHeader("Location", "http://www.yahoo.com.cn");                  

Response .WriteFile輸出圖檔檔案          DEMO

頁面傳遞參數  aspx.cs   aspx

輸出頁面資訊          DEMO

Response.clear()                   // 同時删除響應體和響應報頭

Response.cleartContent()          // 隻删除響應體而不删除響應頭

Response.clearHeader()          // 删除響應體

Request 對象         派生自HttpRequest

Request.QueryString["  "];         //Request.RequestType使用的是get

Request.Form["  "];                 //Request.RequestType使用的是Post

Request.Params[         ];                 //周遊查找可使用的方法

Request["  "];                                 //

為短時間狀态存儲應用 HttpContext .Current.Items

在IHttpModule和IHttpHandler之間共享内容

一個HttpRequest中的各個單元需要處理相同或類似的資料。如果資料的生存期隻是一個請求,就可以考慮使用HttpContext.Items作為短期的高速緩存

第二十二章   高速緩存

高速緩存:

輸出高速緩存         <%@ OutputCache  Duration="60"  VaryByParam="None"  %> [W26]

.net中的高速緩存實作為一個HttpModule,它通過ASP.NEt輔助程序監聽所有HttpRequest。

OutputCacheModule監聽應用程式的ResolveRequestCache和UpdateRequestCache事件,處理高速緩存的請求和失敗,傳回緩存的HTML。如果需要,繞過頁面處理程式

VaryByParam 屬性          VaryByParam="pageId;subPageId"  指定哪些QueryString參數會高速緩存頁面的新版本

VaryByParam ="*"  根據QueryString參數中的差别高速緩存頁面的新版本

VaryByParam ="*"  VaryByHeader ="User-Agent"  User-Agent表示使用者的浏覽器類型。.net可以自動生成給定頁面的不同顯示結果,用于特定的浏覽器

VaryByControl 屬性                   控件的ID

VaryByCustom 屬性                  

部分頁面(UserControl)的高速緩存:

<   Shared="true">         一個使用者控件隻會緩存一次,為所有頁面所用

Post-Cache Substritution         使用Substitution 控件

用戶端調整緩存

程式設計調速緩存

DataSet  ds = new  DataSet();

ds = (DataSet)Cache["WhatINeedToStore"];

SQL Serber 2005 高速緩存禁用功能

第二十三章   高度和錯誤處理技術

<%@ Page Trace="true" %>

Trace.Write("目前是在Page_Load事件",User.Identity.ToString());

<system.web>

<trace enabled=""  pageOutput="false">

<compilation debug = "">

localhost/trace.axd          顯示應用程式頁面的跟蹤資訊

第二十四章   檔案I/O和流

第二十五章   使用者控件和伺服器控件

檢測和響應浏覽器功能

.browser檔案

所有的浏覽器辨別和功能資訊都存儲在.browser檔案中

在伺服器端代碼中檢測浏覽器的功能 DEMO

使用ViewState

VireState可以在Web頁面的整個生命周期中,把控件的狀态存儲在一個隐藏的窗體字段(它顯示為HTML的一部分)中,以維護Web頁面中的控件和對象的狀态

在内置的所有器控件中都是激活的

ViewState有時可能非常大,會影響整個頁面大小,是以應考慮采用另一種方法來存儲ViewState資訊。可以從System.Web.UI.PageStatePersister類中派生一個類,重寫它的Load和Save方法,來建立自己的儲存機制

Text屬性使用ViewState                    DEMO

在給ViewState添加資料時應該把資料打包到以下類型:

基本類型(Int32 Boolean等)

基本類型的數組

ArrayList......

CotrolState

2.0引進的。

基本上是隻用于定制控件的私有ViewState,且關閉ViewState時不受影響

兩個新方法 SaveViewState 和 LoadViewState 可以通路ControlState

在伺服器控件中使用ControlState          DEMO

引發PostBack事件

給伺服器控件添加回送功能          DEMO

第二十六章   使用業務對象

第二十七章   建立和使用服務

第二十八章   本地化

檢視asp.net線程的文化         DMEO

使用CultureInfo對象改變線程的文化設定         DEMO

伺服器端 文化聲明:

web.config.comments檔案中<globalization>段         DEMO

web.config檔案中定義的<globalization>段         DEMO

使用@page指令在頁面級别上定義文化                 [W27] UICulture="ru-RU" Culture="ru-RU"

用戶端 文化聲明:

把文化改為終端使用者指定的首選文化

<%@ Page Langue="" UICulture="auto" Culture="auto" %>

使用自動檢測功能,如果沒有指定終端使用者首先的文化,就使用指令指定的

<%@ Page Langue="" UICulture="auto:en-US" Culture="en-US" %>

在不同的文化中使用日期、時間值         DEMO

在不同的文化中使用數字                 DEMO

在不同的文化中使用代币                 DMEO

顯示貸币時顯示指定的文化         DEMO

在不同的文化中進行排序                 SWMO

把文化改                 DMEO

App_ Global Resources         不變的資源檔案

直接在伺服器控件中使用全局資源         DMEo

程式設計擷取全局資源         DEMO

App_LocalResources本地資源         工具 生成本地資源         (隻用在設計視圖裡)

使用工具自動生成本地化資源,并隐式的綁定到控件上,來實作頁面的本地化是非常簡單的,但存在以下幾項問題:

1)必須為每個頁生成多份資源檔案;

2)隻有控件屬性中被辨別為Localizable(true)才可能被工具掃描到;

3)由于是對頁面包含的控件進行掃描,是以最好是在頁面布局基本确定後再使用該工具,并且在編輯完    資源檔案後不要再使用該工具,如果不幸你這樣做了。。。會發現預設的資源檔案被清空了

在背景程式設計時使用這兩種資源

protected void Button1_Click(object sender, EventArgs e)

     {

         Localize1.Text  = (String)GetLocalResourceObject("Label1Resource1.Text") + " " +

             (String)GetGlobalResourceObject("LocalizedText",  "Msg1");

     }

記得添上這個引用

using System.Globalization;

第二十九章   配置

通路web.config配置

輸出配置檔案中所有資料庫連接配接

根級的web.config檔案使用的信任級别         DEMO         trust level="Full"

改為中等信任級别         DEMO

allowOverride="false" 可以忽略這些繼承或重寫規則

ASP.NET 3.5 支援的 身份驗證:

windows                

Passport                

Forms                

聯合使用Login控件和窗體身份驗證  DEMO

FormsAuthentication.RedirectFromLoginPage

使用User.Identity

擷取登入使用者的使用者名         string userName = User.Identity.Name;

檢查使用者是否已認證驗證         bool authUser = User.Identity.IsAuthenticated();

使用AuthenticationType屬性         string  authType = User.Identity.AuthenticationType; [W28]        

檢查使用者是否在某個角色中         User.IsInRole("ReutersServer/Subscribers")

兩種授權:

URL授權 

是URLAuthorizationModule(繼承自 HttpModule )提供的一個服務,用于控制對.aspx檔案等資源的通路

在<authorization>中允許或拒絕實體         DEMO

拒絕匿名使用者         DMEO                 *表示所有的使用者         ?表示匿名使用者

get post方法拒絕使用者和角色         DEMO         verbs

File授權 location

把Documents子目錄的通路權限授予Admin角色         DEMO

單個檔案通路權限         DEMO

鎖定配置設定

machine.config檔案中的location段指定了路徑Default Web Site/ExampleApplication ,允許所有的應用程式用allowOverride屬性重寫<trace>設定         DEMO

頁面配置 page         DEMO

include檔案         DEMO  configSource

配置ASP.NEt運作時設定         DEMO

完全限定的重定向URL         useFullyQualifiedRedirectUrl

請求逾時         executionTimeout

請求的最大的尺寸         maxRequestLength

緩存的上傳         requestLengthDiskThreshold

線程管理         minFreeThreads  minLocalRequestFreeThreads  保證線程可用數

輸出調整緩存         enableKernelOutputCache

配置ASP.NEt輔助程序         processModel

存儲與應用程式相關的設定         DMEO

操作遠端伺服器上的web.config                 DMEO

保護配置設定:

加密<connectionString>段          

aspnet_regiis -pe  "connectionString" -app "/EncryptionExample"

解密         aspnet_regiis -pd  "connectionString" -app "/EncryptionExample"

加密<authentication>段

aspnet_regiis -pe  "system.web/authentication" -app "/EncryptionExample"

建立定制段:

在web.config中建立自己的定制鍵-值對部分         DEMO

在web.config中設定自己的定制鍵-值對部分         DMEO

程式設計通路web.config中的定制段                 DMEO

類似利用本地資源方法總結(與枚舉一樣利用)

個性化屬性             DEMO        

App_GlobalResources的全局資源                 DEMO   DEMO

應 用 程式設定        

                              web.comfig中的設定                  demo

使用web.co n fig中的設定         DEMO

App_LocalResources本地資源         工具 生成本地資源         (隻用在設計視圖裡)

連接配接多個資料庫

第三十章                   測試

在浏覽器中顯示事件日志的内容         DEMO

管理工具         性能計數器

在浏覽器檢視性能計數器的值         DEMO

健康監控系統

緩沖web事件

第三十一章   管理

Application頁籤

管理應用程式設定

管理 SMTP 配置

管理跟蹤和調試資訊

應用程式狀态: 聯機

第三十二章   打包和部署asp.net應用程式

在部署之前 <compilation  debug = "flase">

xcopy  c:/Websites/Website1  z::'Websites/         /f  /e  /k  /h

使用VS Copy Web Site選項

附錄:

A 遷移asp.net項目

B asp.net終極工具

YSlow         雅虎的13規則

評測 器:dotTrace或ANTS                 10天試用期

js最小化器 :Packer for .NET

ASPX Edit Helper         自動代碼

Power Toys Pack Installer工具集

http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/

http://api.jquery.com/

Microsoft Ajax Minifier 4.0. [W1]

http://www.asp.net/ajaxlibrary/download.ashx

asp.net/MVC工具

整理代碼: Refactor! for ASP.NET   Code Style Enforcer

jquery代碼智能提示功能。

首先讀者需要下載下傳一個更新檔,位址如下:

http://code.msdn.microsoft.com/KB958502/Release/ProjectReleases.aspx?ReleaseId=1736

更新檔安裝好後,再下載下傳jquery-1.2.6-vsdoc.js( http://jqueryjs.googlecode.com/files/jquery-1.2.6-vsdoc.js ) 檔案,把它與jquery-1.2.6.js檔案放在同一個檔案夾下。最後在頁面中與往常一樣用<script>标簽引入jQuery腳本 庫,Visual Studio 2008會自動識别并找到jquery-1.2.6-vsdoc.js檔案。

[W2]

如果我們更新了腳本, 可以通過"Ctrl+Shift+J"快捷方式更新Visual Studio的智能感覺,或者單擊 編輯->IntelliSense->更新JScript Intellisense:

為了即能在Visual Studio中增加腳本提示, 又能在上線的時候使用min版本的腳本庫, 我們一般是用如下方式引入jQuery庫:  [W3]

Subversion SCC Provider

http://ankhsvn.open.collab.net/        

将你的項目托管到google code或者sourceforge上,你可以使用這個Visual Studio插件連接配接你的項目。

MetalScroll

http://code.google.com/p/metalscroll/

MetalScroll是RockScroll插件的替代者。它用一個代碼縮略圖替換代碼編輯器的滾動條。

Source Code Outliner Power Toy

http://www.codeplex.com/SourceCodeOutliner

是另外一個友善檢視代碼大綱的插件。如果使用Eclipse進行Java項目的開發,你可能習慣了Eclipse大綱顯示的便捷性。這個插件實作了此特别有用的功能,它可以在一個視窗内顯示類的成員資訊,友善開發者檢視和導航。

VS 2008 File Finder

http://www.huffs.us/blogEngine/page/VS-2008-File-Finder.aspx

在一個包含N個project的解決方案中查找一個檔案時,使用這個插件相當有用。它提供一個視窗,可以快速的找到項目中的某個檔案。類似Eclipse的Ctrl+Shift+R快捷鍵。

Clone Detective for Visual Studio

http://clonedetectivevs.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=16114

此插件可以分析項目中的代碼,找到那些重複的代碼。重複的代碼不但備援,而且一旦修改業務邏輯,多處代碼也不好維護一緻性。

ajaxmin test.js -o test.min.js

ajaxmin test.css -o test.min.css

  < script type ="text/javascript" src ="scripts/jquery-1.2.6.js"></ script >

<% if ( false )

   {  %>

< script type ="text/javascript" src ="scripts/jquery-1.2.6-vsdoc.js"></ script >

<% } %>

  <% if (false) 

{%> 

<script src="Js/jquery-1.3.2.js" type="text/javascript"></script> 

<script src="Js/jquery-1.3.2-vsdoc.js" type="text/javascript"></script> 

  <%}%> 

<%="<script src=/"Js/jquery-1.3.2.min.js/" type=/"text/javascript/"></script>" %> 

繼續閱讀