高效網站總結:
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>" %>