第一章 1.搭建Asp.net開發環境 1).net FrameWork(VS) 2)IIS(xp:5.1,2003:6.0,vista:70,win7:7.5) C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis -i [重新註冊 ...
第一章 1.搭建Asp.net開發環境 1).net FrameWork(VS) 2)IIS(xp:5.1,2003:6.0,vista:70,win7:7.5) C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis -i [重新註冊] 2.Asp.net的優勢 1)豐富的控制項庫 2)代碼後置 3)方便調試 4)編譯後執行 5)與瀏覽器無關 第二章 1.Asp.net運行機制 Asp.net引擎(Aspnet_isapi.dll:管道模型) 一.處理請求:httpModule(過濾請求)→httpHandle(處理請求) 二:設置httpHandlers Public bool IsReusable{get{return ture;}}(設置httpHandlers) 三.在Web.config中添加httpHandlers <httpHandlers><add path="" type="" verb=""><httpHandlers/> 2.Asp.net系統對象 1)Page 2)Request[接受請求中的數據] 接受表單數據:Request.From[""] 接受問號傳值:Request.QueryString[""] 3)Response[輸出] 一:跳轉 Response.Rediect("") 二:輸出:Response.Write("") 三:提示:Alert("") 四:確認:return confirm("") 4)Server[封裝伺服器常用方法屬性] 一:Server.MapPath("") 二:Server.HtmlEncode("")編碼 3.數據傳遞 1)頁內傳遞 一.用This.獲取控制項得到屬性值 二.隱藏控制項 2)頁面傳遞 一.問號傳值(get傳值,Request.QueryString[""],大小限制255位元組) 二.表單傳值(Post傳值,Request.From[""]) 跨頁提交(PostBackUrl="",PreviousPage.FindControl("控制項類型") as 控制項類型) 三.狀態保持方式:Session,Cookie等等 4.狀態保持方式 1)Session(保存在服務端,操作方便,容易丟失) 一:保存Session:Session[""] = 對象或者欄位 二:獲取Session:對象(欄位)= Session[""] as 對象類型 2)Cookie(保存在客服端,只能存文本,自定義有效期,不安全) 一:創建Cookie:HttpCookie httpCookie = new HttpCookie() httpCookie.Values["名稱"] = ""; 二:設置有效期:httpCookie.Expires = DateTime.Now.Add(); 三:添加Cookie:Response.Cookies.Add(httpCookie) 四:獲取Cookie:Response.Cookie[""].Values["名稱"] = 欄位; 3)Application(保存在服務端,全局共用,保存網站配置數據) 鎖定Application防止死鎖 一:創建Global.asax 二:鎖定Application:Application.Lock() 三:創建Application:Application["名稱"] = "" 四:解鎖Application:Application.Unlock() 4)ViewState(保存在服務端,頁面內有效) 第三章(Asp.net控制項) 母版頁(統一佈局) 一:創建母版頁:MasterPage.master 二:公共內容控制:ContentPlaceHolder 三:添加子夜:創建頁面時選擇母版頁 1.導航控制項 1)SiteMapPath(層次導航) 創建SiteMap,控制項自動獲取SiteMapPath的數據 <siteMapNode url="" title="" description="" > <siteMapNode url="" title="" description="" /> <siteMapNode/> 2)Menu(菜單) 一:用SiteMapPath或者XML綁定數據源 二:設置靜態、動態的顯示級數,和水平顯示 3)TreeView(樹形導航) 創建TreeView,用SiteMapPath或者XML綁定數據源,用XML需要指定綁定的值 2.數據綁定控制項 1)DropDownList(下拉劉表) 一:數據源綁定,創建DropDownList,指定ID和Value 二:手動綁定 this.DropDownList.DataSource() this.DropDownList.DataTextFiled = "" this.DropDownList.DataValueFiles = "" this.DropDownList.Bind() 三:給DropDownList添加一項 數據綁定 添加DataBound事件:this.DropDownList.Items.Insert(0,new ListItem("---請選擇---","") 手動綁定 this.DropDownList.Items.Insert(0,new ListItem("---請選擇---","") 四:級聯 數據綁定時 給子DropDownList設置數據源,指定獲取值的控制項,並給預設值,在父控制項里設置AuotPostBack 手動綁定,添加SelectIndexChanged 2)GridView(展示表數據) 一:數據綁定 SqlDataSource綁定,創建GridView,做編輯、刪除需要在高級選項里打勾 對象綁定,創建GridView,編輯、刪除需要自己添加自定義項 手動綁定:this.GridView.DateSource = 方法 數據源綁定:this.GridView.DateSourceID = this.數據源.ID 二:頁面綁定數據,並格式化,添加方法,如果綁定前後有字元,需要{0}作為參數 <%#方法(Eval("對象.屬性","{0:}")).ToString(),參數)%> 三:光棒效果 添加RowDataBound事件 e.Row.Attributes.Add("onmouseover","oldColor=this.style.backgroundColor;this.style.backgroundColor = '顏色'") e.Row.Attributes.Add("onmouseout","this.style.backgroundColor=oldColor") 四:數據源綁定不能自動綁定外鍵,需要手動綁定[獲取當前下拉框Row的值] 在頁面中添加SelectValue = '<%#Eval("對象.屬性") %>' 更新時,添加RowUpdating事件 This.數據源.UpdateParameters["欄位"].DefautValue = (this.GridView.Rows[e.RowIndex].FindControl("控制項") as 控制項類型).SelectValue 五:設置GridView主鍵(DateKeyName = "主鍵值") 六:在GridView做命令提交時,需要在RowCommand事件中寫代碼 e.CommandName(""),需要在控制項里設置CommandName = "" e.CommandArgument = <%#Eval("對象.屬性") %> 3)DetailView(展示詳細信息) 4)DataList(可自定義模版) 一:數據綁定 手動綁定:this.DataList.DateSource = 方法 數據源綁定:this.DataList.DateSourceID = this.數據源.ID 二:模版 頭模版、Item模版、腳模版、交替項模版、分隔符模版、選擇模版、編輯模版 三:分頁 PagedDataSource分頁 1創建PagedDataSource對象 PagedDataSource pds = new PagedDataSource(); 2打開分頁開關 pds.AllowPaging = true; 3,設置頁大小 pds.PageSize = 大小; 4設置當前頁,註意CurrentPageIndex是索引,第一頁為0 pds.CurrentPageIndex = pageIndex-1; 5設置數據源 pds.DataSource = 數據源 綁定分頁控制項 this.UcfarPager1.PageStyle = UcfarPagerControls.PagerStyle.前後縮略; this.UcfarPager1.PagePara = "p"; this.UcfarPager1.PageSize = pds.PageSize; this.UcfarPager1.RecordCount = pds.DataSourceCount; 存儲過程分頁 create proc Pager @tableName varchar(20), @orderBy varchar(20) ='id', @whereStr varchar(100)='', @pageIndex int=1, @pageSize int=10 as declare @sqlStr varchar(200) declare @startRowIndex int , @endRowIndex int set @startRowIndex = (@pageIndex-1)*@pageSize+1 set @endRowIndex = @pageIndex*@pageSize if(@whereStr!='') set @whereStr = ' where ' + @whereStr set @sqlStr='select * from (select row_number() over(order by ' + @orderBy + ') as rowindex, * from ' + @tableName+ @whereStr + ') as newTab where rowIndex between ' + convert(varchar(4),@startRowIndex) + ' and ' + convert(varchar(4),@endRowIndex) print @sqlStr exec(@sqlStr) 5)Repeater(精確佈局) 一:數據綁定 手動綁定:this.Repeater.DateSource = 方法 數據源綁定:this.Repeater.DateSourceID = this.數據源.ID 二:模版 頭模版、Item模版、腳模版、交替項模版、分隔符模版 3.驗證控制項[選擇控制的控制項] 驗證中有兩個提交控制項時,需要給控制項分組 1)非空驗證 RequiredFieldValidator 填寫錯誤信息 2)範圍驗證 RangeValidator 需要設置ControlToCompare[比較的控制項] ValueToCompare [比較的值] 3)自定義驗證 CustomValidator 後臺驗證事件 ServerValidate args.Value [驗證的值] args.IsValid [驗證結果] 前臺驗證 註冊ClientValidtionFunction事件 Fun中需要兩個參數(obj,e) 4)正則表達式驗證 RegularExpressionValidator 填寫錯誤信息和ValidatorExpression 5)錯誤信息彙總控制項 ValidationSummary 有MessageBox和Summary兩種顯示模式