1. 程式人生 > >ASP.NET一些常用的東西

ASP.NET一些常用的東西

reset net 自動添加 pbo 參數 發送 單擊 字段 face

三層架構的命名:

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一些常用的東西