<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    大大毛 的筆記

      DDM's Note

    哪怕沒有辦法一定有說法,
    就算沒有鴿子一定有烏鴉,
    固執(zhí)無罪 夢想有價(jià),
    讓他們驚訝.

    posts - 14, comments - 23, trackbacks - 0, articles - 58
       :: 首頁 ::  :: 聯(lián)系 ::  :: 管理

    ASP.NET學(xué)習(xí)筆記--01

    Posted on 2006-08-07 17:51 大大毛 閱讀(329) 評論(0)  編輯  收藏 所屬分類: ASP.NET

    ???剛剛開始學(xué)習(xí)ASP.NET,環(huán)境:XP,VS2005,SQLServer2000,學(xué)習(xí)資料:北大青鳥的視頻教程

    ???ASP.NET與ASP的區(qū)別
    ??????asp.net 運(yùn)行于 .net 框架之上,經(jīng)過了偽編譯,而 asp 則是直接運(yùn)行在IIS上的,在調(diào)用時(shí)由DLL進(jìn)行解釋;
    ??????asp.net 支持三種開發(fā)語言:vb.net,c#,j#,而 asp 僅支持 vbscript 的語法;
    ??????asp.net 提供了控件支持,而 asp 則沒有;
    ??????asp.net 支持OOP,代碼也是按類來組織的,asp 只能依靠精巧的代碼實(shí)現(xiàn);
    ??????asp.net 在頁面的處理上采用了VB的事件驅(qū)動(dòng),大大簡化了開發(fā)難度,asp 依靠的是手工驅(qū)動(dòng);
    ??????asp.net 提供的VIEWSTATE機(jī)制,使得頁面元素可以保持原有的值,asp 必須依靠手工代碼;
    ??????asp.net 使用了代碼分離,asp 則沒有,現(xiàn)在老板就能看清楚你寫的那堆垃圾在哪兒了;
    ??????asp.net 的IDE功能上強(qiáng)大許多,不過在HTML元素的設(shè)計(jì)上成了一只雞肋,許多地方俺還是習(xí)慣手工改寫;

    ???ASP.NET提供的控件
    ??????提供的常用控件都在VS工具箱的"標(biāo)準(zhǔn)"及"HTML"欄中,所謂標(biāo)準(zhǔn)控件就是指服務(wù)器控件,一拖出來就有個(gè) runas="server" 的屬性,當(dāng)然HTML控件也可以加上這個(gè)屬性變身為服務(wù)器控件,一旦擁有這個(gè)runas那么該控件就會(huì)成為類的一項(xiàng)屬性,在類成員中使用this指針就可以直接引用,果然是方便快捷。不過界面元素的動(dòng)作也相應(yīng)著發(fā)生了變化,如果是普通的HTML元素,那么響應(yīng)它事件的只能是本地 script 代碼,而一旦成為服務(wù)器控件,那么所有針對它的事件響應(yīng)都會(huì)在服務(wù)器端完成。

    ???常用的事件:
    protected?void?Page_Load(object?sender,?EventArgs?e)?{
    }
    ??????這個(gè)事件最為常用,在設(shè)計(jì)器中雙擊頁面就會(huì)切到該事件方法中來。該事件發(fā)生在頁面每次被裝載時(shí),不過這里的Load跟本地App的Load不一樣,由于HTTP的特性決定了客戶/服務(wù)端的聯(lián)接不可能是持續(xù)和雙向的。因此客戶端瀏覽器每發(fā)一次請求,服務(wù)端就會(huì)Load頁面一次。
    ??????這個(gè)事件通常配合 Page.IsPostBack 屬性使用,該屬性在Load完成之后才會(huì)被設(shè)為 true 值,因此只有第一次的Load,該屬性值才為 false,看教程中的示例,需要初始化環(huán)境時(shí),需要將初始化代碼置入 if(!Page.IsPostBack) 塊中。

    protected?void?Page_Init(object?sender,?EventArgs?e)?{
    }
    ??????Page_Init 事件在 Load 事件之前發(fā)生,頁面在加載時(shí)的順序是 控件Init(),頁面Init(),頁面Load(),控件Load()


    ???ASP.NET從提交的數(shù)據(jù)中取值
    1? string?userName?=?Request["userName"].ToString();

    2? string?userName?=?Request.Form.Get("userName");

    3? string?userName?=?Request.QueryString["userName"];

    ??????取值的方法與 asp 相同。
    ??????第1行方法適用于 Post/Get 兩種提交方式;第2行只能用于 Post 提交,這里使用了集合的Get方法;第3行只能用于 Get 提交,這里使用另外一種獲取集合成員的方法。

    ???ASP.NET查詢MsSQL數(shù)據(jù)庫
    ??????需要引用的命名空間(相當(dāng)于JAVA中的包):System.Data.SqlClient;
    ??????步驟:
    ?????????1.新建一個(gè) SqlConnection 連接對象,并打開;
    ????????????new SqlConnection("server=服務(wù)的地址;database=數(shù)據(jù)庫名;uid=sa;pwd=");
    ????????????con.Open();
    ?????????2.新建一個(gè) SqlCommand 命令對象;
    ????????????new SqlCommand(SQL語句,con);
    ?????????3.通過調(diào)用 SqlCommand 對象的方法獲得數(shù)據(jù)。
    ????????????例如:
    ????????????SqlDataReader sdr = cmd.ExecuteReader();???//獲得一個(gè)只向前的游標(biāo)
    ????????????while(sdr.Read()) {
    ???????????????...
    ????????????}
    ?????????4.釋放資源
    ????????????使用 using 語句,屬于 .net 的專有語法了,在塊的結(jié)束將由 using 語法調(diào)用 IDisposable?接口定義的 Dispose()方法。因此包含在 using 語句內(nèi)的對象都應(yīng)該實(shí)現(xiàn) IDisposable 接口。
    ????????????使用?finally?,這個(gè)方法還是比較容易接受一些,try/catch/finally組合除了可以釋放資源外還可以捕獲異常。
    ?????????查了一下資料,MS將連接池也傻瓜了一把(只有使用System.Data.SqlClient包時(shí)),除非在 SqlConnection 對象的連接字串中顯式指定,否則自動(dòng)配置連接池。因此在 SqlConnection 對象的使用上應(yīng)該做到隨手關(guān)閉的好習(xí)慣,呵。

    i am ddm

    主站蜘蛛池模板: 色拍自拍亚洲综合图区| 四虎永久在线精品视频免费观看| 亚洲最大激情中文字幕| 一级毛片免费一级直接观看| 不卡精品国产_亚洲人成在线| 全黄A免费一级毛片| 亚洲精品无码你懂的网站| 免费无码国产V片在线观看| 亚洲片国产一区一级在线观看 | 老子影院午夜伦不卡亚洲| 国产精品久免费的黄网站| 亚洲Av无码国产一区二区| 四虎成人精品在永久免费| 免费高清A级毛片在线播放| 久久久久亚洲精品男人的天堂 | 亚洲精品免费在线视频| 在线看片免费不卡人成视频| 亚洲国产精品久久久久秋霞小| 国产免费变态视频网址网站| 一本大道一卡二大卡三卡免费| 亚洲女久久久噜噜噜熟女| 99精品一区二区免费视频| 午夜在线a亚洲v天堂网2019| 黑人粗长大战亚洲女2021国产精品成人免费视频 | 亚洲线精品一区二区三区影音先锋| 一级毛片在线免费观看| 亚洲性69影院在线观看| 全免费a级毛片免费看不卡| 一区二区三区免费视频观看| 婷婷久久久亚洲欧洲日产国码AV | 久久亚洲精品国产精品| 中文字幕影片免费在线观看| 国产亚洲欧美日韩亚洲中文色| 国产国拍亚洲精品福利 | 免费在线不卡视频| 男人j进入女人j内部免费网站| 亚洲综合中文字幕无线码| 亚洲一级Av无码毛片久久精品| 2021在线永久免费视频| 青草青草视频2免费观看| 少妇中文字幕乱码亚洲影视|