標籤:gif cti pos 控制 三層架構 split selected button 業務
三層架構的命名:
UI: User Interface (資料顯示層 使用者介面)
BLL:Business Logic Layer (商務邏輯層)
DAL:Data Access Layer (資料訪問層)
Dao:Data Access Object(Data Access Objects和資料訪問層一個意思)
常用代碼:
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 Form的結尾處,以保證在執行用戶端指令碼之前已聲明 Web Form中的所有 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一些常用的東西