ASP.NET一些常用的東西
三層架構的命名:
UI: User Interface (數據顯示層 用戶界面)
BLL:Business Logic Layer (業務邏輯層)
DAL:Data Access Layer (數據訪問層)
Dao:Data Access Object (數據訪問對象和數據訪問層一個意思)
常用代碼:
Clipboard.SetDataObject(textBox1.SelectedText); 復制數據到到粘貼板
this 不能調用 static 的方法,因為this是類屬性
提交到ASP.NET的表單,一定要加 name
對多行文本加一個 @ 符號
<asp:Button>來講,onclick是服務端事件,OnClientClick是客戶端單擊事件
<input>來講(html頁面),onclick就是客戶端的單擊事件
Codeehind: aspx控制頁面長什麽樣子,cs判斷業務邏輯
ClientScript.RegisterStartupScript(GetType(),"警告","alert(‘類型錯誤!‘)",true);
//註冊頁面加載的時候執行Javascript腳本,第二個參數是頁面中唯一名稱,最後一個true為自動添加script標簽
cs可以調用aspx中的控件,aspx中也可以訪問cs中定義的字段,函數,還可以編寫復雜的C#代碼,for等
所有C#代碼都可以寫在aspx中(不推薦),在aspx中 <% %> 包含的語句,就是C#代碼
----- RegisterStartupScript() 與 RegisterClientScriptBlock() 服務端註冊JS代碼
RegisterStartupScript 方法將 <script> 塊置於 Web 窗體的結尾處,以保證在執行客戶端腳本之前已聲明 Web 窗體中的所有 HTML 元素。
RegisterClientScriptBlock() 通過此方法發送的腳本塊位於 Web 頁面的開始處,因為這種方法不要求將腳本塊置於所有 HTML 元素之後。
------ Form表單獲取多個值
<input type="text" name="txtData" />
<input type="text" name="txtData" />
第一種:這個有問題,當用戶在參數裏面加","逗號時,將解析出多個數組
string[] count = Request.Form["txtData"].Split(‘,‘);
第二種:強烈推薦,解決用戶傳","逗號的問題
post提交用 Request.Form.GetValues()方法
get提交用 Request.QueryString.GetValues()方法
string[] count = Request.Form.GetValues("txtData"); // 表單默認是用post提交的
----- 遍歷所有TextBox控件
Asp.net 不能像window那樣直接遍歷this.Controls就可以了,因為:
this.Controls只是包含了Page根一級的control,這樣次級的control就都沒有遍歷
TextBox一般會放在form裏面,遍歷this.Controls只會訪問form control,而不會訪問form的子Contorl
下面使用遞歸對頁面control樹進行完全遍歷
private void ResetTextBox(ControlCollection controls) { foreach (Control ctr in controls) { if (ctr.HasControls()) { ResetTextBox(ctr.Controls); } if (ctr is TextBox) { ((TextBox)ctr).Text = "OK"; } } } protected void Page_Load(object sender, EventArgs e) { // 調用 ResetTextBox(this.Controls); }
ASP.NET一些常用的東西