Asp.net學習筆錄

來源:互聯網
上載者:User

ashx 文字框自增,hidden欄位判斷是否為postback

ashx div 自增

ashx get,host

因為只有設定的name的input textarea text,dp 能提交給伺服器

viewstatedecoder

Label版本的值存到了ViewState中,TextBox版本不用存,因為TextBox就是Input,自己就會提交給伺服器,不需要隱藏欄位。

無狀態Http:不會記得上次和網頁發生了什麼,如果要知道上一次的狀態,一個方法是在對瀏覽器響應結束之前將狀態資訊儲存到頁面表單中,下次頁面再向伺服器發出請求的時候帶上這些狀態資訊,這樣伺服器就根據這些狀態資訊還原上次的狀態了,

狀態資訊儲存在隱藏欄位中的缺點:加大網站的流量,降低訪問速度,機密資料放到表單中會有資料欺騙等安全問題

asp.net 已經內建了Session機制,不要把太多的對象放到session,Session會有逾時銷毀機制

HTTP:
DebugBar,Http(s)標籤的內容,只能分析當前瀏覽器的內容(HttpWatch)

JS,css,等圖片都是一個單獨的請求.

Request.AppRelativeCurrentExecutinonFilePath擷取當前執行請求相對於應用程式目錄的虛擬路徑以~開頭
Request.PhysicalApplicationPath,擷取當前應用的實體路徑

Request.UrlReferrer請求來自哪,可以禁止不是本網站訪問這個圖片等

Request.MapPath("~a/b.aspx")虛擬路徑轉換成實體路徑
Request可以獲得請求HTTP所有的發送資訊

Response(以流(outputstream)的形式):
響應的緩衝輸出:為了提高伺服器的效能,ASP.NET向瀏覽器Write的時候預設並不會Write一次就會立即輸出到瀏覽器,而是會快取資料,到合適的時機或者響應結束才會將緩衝區中的資料一起發送到瀏覽器
Response.Buffer,Response.BufferOutput, buffer內部就是調用bufferout,預設是false,是用來控制項是否採用緩衝。
Response.Flush()將緩衝區中的資料發送給瀏覽器,這在需要將Write出來的內容立即輸出到瀏覽器的場合非常適用.
Response.Clear()清除不發送緩衝

Server:
Server.HtmlDecode(),Server.HtmlEncode,Server.UrlEncode(),Server.UrlDecode.別把HtmlEncode,UrlEncode混了,UrEncode是處理超連結,HtmlEncode是處理 HTML代碼的
個人推薦總 使用HtmlUtility,因為有的地方很難拿到Server對象。

Server.Transfer(path)內部重新導向請求和Response.Redirect()區別:
Response.Redirect()是發送兩次請求,地址欄會變化
Server.Transfer發送一次請求,地址欄不變化。是伺服器內部的接管,瀏覽器意思不到這個接管的。只能是內部的,不能重新導向到外部網站。Server.Transfer不能重新導向到ashx,否則會報錯。

Response.AddHeader(Content-Disposition:attachment;filename=a.txt) //單擊連結,彈出下載對話方塊
否則會在瀏覽器中開啟。

ContentType=application/x-excel

Response.WriteFile(filename)把圖片輸出到頁面儲存

頁面<%=UserName%>等於Response.write(UserName) =就是表示輸出的是值。比如方法返回的是一個字串等

aspx,cs,dll之間的關係

基本控制項:
document.getElementById('<%=伺服器控制項ID.ClientID;%>')//一般這樣取用。。

if(FileUpload1.HasFile){
   FileUpload.SaveAs(path);path為全路徑:Server.MapPath.VirtualPathUtilyty.ToAbsolute
}

Repeater:每一行綁定事件(按鈕):在Repeat 的ItemCommand的事件中,通過按鍵的commandName來區分是哪個按鈕觸發的,commandArgument來綁定ID,
Repeater.DataBind()//重新整理資料庫;

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.