日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

ASP.NET中级学习2

發(fā)布時(shí)間:2025/4/14 asp.net 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ASP.NET中级学习2 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

下載圖片處理

T_UsersTableAdapter?adapter =?new?T_UsersTableAdapter();

????????????????var?data = adapter.GetDataById(int.Parse(context.Session["UserId"].ToString()));

????????????????var?user = data.Single();

????????????????if?(user.Level == 1)

????????????????{

????????????????????string?PicPath =?"~/img/"+filename;

????????????????????if?(PicPath.IndexOf('.')!=6)

)?//此處有漏洞風(fēng)險(xiǎn),防止用戶通過拼湊請(qǐng)求參數(shù)的方法非法下載網(wǎng)站內(nèi)源代碼。

????????????????????{//PicDownload2.ashx?FileName=../PicDownload2.ashx.cs.這樣就可以下載了,所以要判斷下載的文件路徑是否在img目錄下的,如果不是則不讓下載。

????????????????????????context.Response.WriteFile(PicPath);

????????????????????}

????????????????}

?

?

?

?

M秒后自動(dòng)跳轉(zhuǎn)到其他頁面:

1.<meta name=”refresh” content=”3”?url=b.htm”>

2.JavaScript?的定時(shí)器。

?

?

Select ISNULL(ErrorTimes,100) from T_users

如果ErrorTimes字段為null,就設(shè)為100

?

WebForm 1

WebForm分為兩個(gè)文件aspx和aspx.cs,aspx是?面模版,是頁面描述文件,就是html的內(nèi)容,和aspx結(jié)合的更好,不用像一開始那樣程序員自己去填充模版,空間都是定義在aspx中,內(nèi)聯(lián)的javascript,css都是現(xiàn)在aspx中的,服務(wù)端的C#代碼定義在aspx.cs中,Aspx控制頁面的長相,cs控制程序邏輯,種前aspx后cs的方式被稱為CodeBehind。

?

相當(dāng)于以前的html+ashx的模式。Aspx就是”模版引擎”

cs可以調(diào)用aspx中的控件,aspx中也可以訪問cs中定義的字段、函數(shù),還可以編寫復(fù)雜的C#代碼,for等所有C#代碼都可以寫在aspx中。(不推薦這樣)

<%for?(int?i = 0; i < 10; i++){%>您好!<%}?%>

可以在頁面上寫一些簡單的代碼---跟jsp一樣。

?

<%=myName?%>??“=”表示輸出表達(dá)式。myName是后臺(tái)cs代碼中定義的屬性。

<%=getName();?%>??getName()是一個(gè)方法。屬性方法的成員級(jí)別必須是protected或者是public,不能是private的。

?

Aspx于cs之間的關(guān)系。

?

aspx、cs、dll之間的關(guān)系。

?

Response.Write(this.GetType()+"<br/>");//取得當(dāng)前對(duì)象的類

Response.Write(this.GetType().Assembly.Location+"<br/>");//取得但前對(duì)象的assembly地址。

Response.Write(this.GetType().BaseType+"<br/>");?//取得當(dāng)前對(duì)象的父類

Response.Write(this.GetType().BaseType.Assembly.Location +?"<br/>");?//取得當(dāng)前對(duì)象的父類的assembly地址

當(dāng)前頁面執(zhí)行時(shí)的類是后臺(tái)代碼類的一個(gè)子類。前后臺(tái)之間是繼承關(guān)系。

?

Page類

?

Page類成員:

1.Request,Response,Server屬性:對(duì)context.Request, context.Response, context.Sever的簡化調(diào)用。

1.??????AppRelativeVirtualPath?屬性:獲得頁面相對(duì)于應(yīng)用根路徑的路徑,比如:~/Default.aspx

2.??????FindControl(crlId),根據(jù)控件的id找到控件。一般情況下直接在代碼中寫控件的id引用控件就可以了,但是對(duì)于一些場合:使用ListView等控件的模版、編寫自定義控件等則需要使用FindControl來引用控件,FindControl返回值是Control??(TextBox)FindControl(“TextBox1”).Text=“aaa”;

3.??????IsPostBack ,Session.

4.???????ResolveClientUrl(url)將虛擬路徑轉(zhuǎn)換為客戶端訪問時(shí)的路徑。比如ResolveClientUrl(“~/a/b.aspx”)結(jié)果是a/b/aspx,這通常在ListView等控件的模版中輸出html使用。基本就是對(duì)VirtualPathutitlity.ToAbsolute的簡化調(diào)用。

?

ASP.Net服務(wù)器端基本控件介紹。

?Aspx.Net服務(wù)端控件是asp.net對(duì)HTML的封裝,asp.net會(huì)將服務(wù)端控件渲染成html代碼輸出給瀏覽器。服務(wù)端控件是asp.net非常吸引初初學(xué)者、非常容易上手的東東,也是最被人詬病的東西。但是,物盡其用,服務(wù)端控件在內(nèi)網(wǎng)系統(tǒng)、互聯(lián)網(wǎng)系統(tǒng)的后臺(tái)部分等訪問頻率不高的地方用的還很適合的。

(如果用的不好,會(huì)產(chǎn)生很多viewstate等不需要用到的代碼,還有,asp.net服務(wù)端控件是通過post提交的,get方法也可以,但幾乎沒法用,很多場合,特別是在開發(fā)互聯(lián)網(wǎng)程序,用post是很麻煩的。)

Asp.net應(yīng)用是有限制的,比如開發(fā)一個(gè)企業(yè)的進(jìn)銷存系統(tǒng)(企業(yè)內(nèi)部用的),不是一種互聯(lián)網(wǎng)系統(tǒng),互聯(lián)網(wǎng)系統(tǒng)的后臺(tái),開發(fā)就很方便簡單。做互聯(lián)網(wǎng)前臺(tái),對(duì)服務(wù)器控件就要有所取舍,也不是完全不用。

?

Asp.net簡單易用,不要因?yàn)樗唵尉筒恍?#xff0c;我們應(yīng)該調(diào)整好心態(tài),怎樣利用簡單的東西早出復(fù)雜的系統(tǒng),這才是我們需要做的。

?

asp.net控件,大部分都是從Control,WebControl類繼承的,幾乎都有的成員:1.ClientID。獲得控件在客戶端的ID。

document.getElementById('<%=TextBox1.ClientID?%>').onmouseover = function () {this.style.background = 'red';}

在客戶端通過javascript和jquery等操作控件時(shí),必須要用('<%=TextBox1.ClientID?%>').的方法取得控件id。好習(xí)慣(有時(shí)候客戶端和服務(wù)端的ID會(huì)不同。)

?

2.Visible屬性,控件是否可見,如果Visible=false是不會(huì)渲染到HTML中的,這和在HTML中給元素style.display=’none’效果是不一樣的。

?

3. CssClass控件的css style屬性

4.Attributes?用來設(shè)置獲取控件的額外屬性。和Dom中的setAttribute(),getAttribute()是一樣的。

Button1.Attributes[“a1”]=”2.jpg”;

Button1.Attributes[“onmouseover”]=”alert(‘Hello man’)”;

?

基本控件:

1.??????Label控件,用來顯示文本,在客戶端渲染成<span id=”Label1”>姓名</span>?<span></span>跟div的區(qū)別,div占用一個(gè)區(qū)域,而span則放在哪就顯示在那里。Label控件如果設(shè)置了?AssociatedControlId屬性,它就會(huì)被渲染成相應(yīng)控件的Label,點(diǎn)擊Label,關(guān)聯(lián)的控件就得到焦點(diǎn)。<label for=”TextBox1”?id=”Label1”>姓名</Label>

2.??????Literal控件不渲染任何元素。純文本顯示在客戶端。設(shè)置了Mode屬性為Encode后,文本還會(huì)自動(dòng)的進(jìn)行HTML編碼。

3.??????TextBox控件,文本框控件,TextMode屬性取值SingleLine,MultiLine、Password,分別渲染成intput(type=text)、textarea、input(type=password)、當(dāng)AutoPostBack屬性為true的時(shí)候,用戶焦點(diǎn)離開TextBox就會(huì)造成Post,實(shí)現(xiàn)原理就是講Asp.net原理時(shí)的AutoPostBack.?用javascript提交表單,_doPostBack( );在ASP.Net中要提交表單的時(shí)候,最好直接調(diào)用_doPostBack();?TextChanged事件,文本發(fā)生變化的時(shí)候事件觸發(fā)。

4.??????RadioButton控件,渲染為input(type=radio),通過GroupName屬性進(jìn)行分組。

?

5. Button控件。OnClientClick屬性,當(dāng)用戶點(diǎn)擊按鈕的時(shí)候,在瀏覽器端執(zhí)行的代碼,注意OnClientClick是字符串屬性,寫的代碼是javaScript代碼,運(yùn)行在瀏覽器端。<asp:Button ID=”btnDel” ruant=”server” onclientclick=”return confirm(‘真的要?jiǎng)h除嗎?’)” Text=”刪除”/>

?

6.LinkButton控件。在客戶端渲染成一個(gè)超鏈接:這是一個(gè)特殊的超鏈接:??????<a id="LinkButton1" href="javascript:__doPostBack( )">LinkButton</a>點(diǎn)擊它就提交表單,相當(dāng)于一個(gè)按鈕。

7.ImageButton控件。客戶端渲染成input(type=image)

<input type="image" name="ImageButton1" id="ImageButton1" src="../img/Abu.gif" />

?

8.Button,LinkButton,ImageButton等控件都有?CommandName,CommandArgument兩個(gè)屬性和Command事件,可以讓多個(gè)按鈕控件共享一個(gè)Command時(shí)間處理函數(shù),通過讀取事件對(duì)象e的CommandNam、CommandArgument兩個(gè)屬性讀取被點(diǎn)擊按鈕設(shè)置的這兩個(gè)參數(shù)來執(zhí)行不同的操作。例如:編輯、刪除多行數(shù)據(jù)。這種用法在ListView等控件中用的最多。

?

9.Panel控件,一般渲染成一個(gè)div。但如果設(shè)置了GroupingText屬性后:會(huì)渲染成fieldset。

<fieldset><legend>Panel組件</legend></fieldset>

?

10.HyperLink?超鏈接:引用站內(nèi)資源的時(shí)候比較方便,自動(dòng)幫你轉(zhuǎn)換路徑,如果引用互聯(lián)網(wǎng)地址如百度,則直接用<a>標(biāo)簽就ok了,減少服務(wù)器的負(fù)擔(dān)。

?

11.FileUpload?文件上傳:渲染成:input(type=file)

<input type="file" name="FileUpload1" id="FileUpload1" />

要預(yù)防WebShell漏洞:上傳可執(zhí)行的頁面到服務(wù)器,然后在設(shè)法訪問它,讓他執(zhí)行并破壞網(wǎng)站。

?

轉(zhuǎn)載于:https://www.cnblogs.com/YangFengHui/archive/2011/04/16/2018591.html

總結(jié)

以上是生活随笔為你收集整理的ASP.NET中级学习2的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。