尊重作者,請保留 www.it55.com 連結字樣。
今天內容比較多一點,我們需要學習asp.net 2.0 其餘六個伺服器控制項,所以馬上開始,呵呵。
1、BulletedList控制項
作用:用於展示小規模的列表顯示,以ul li的方式或者ol li的方式輸出;清單項目可以以文字、連結、LinkButton的形式出現。
建立方法:
建立web表單文檔並且換至設計介面,將左側工具列“標準”選項欄中的BulletedList控制項拖放至頁面中。
通過“編輯項”進行清單項目的添加:
運行效果如下:
各清單項目左側以實心圓點作為行頭符,而這個行頭符可以通過更改BulletedList的BulletStyle屬性來更換其它樣式。
需要特別聲明的是,如果你的BulletedList控制項的清單項目是由手工添加 + 後台動態綁定的話,那麼你必須將其AppendDataBoundItems屬性設定為true.
2、HiddenField控制項
作用:將隱藏的資料儲存在Value屬性中,類似於HTML中的<input type="hidden"/>,只不過該控制項運行於伺服器端;適於安全要求比較低的參數傳遞。
建立方法:將左側工具列“標準”選項欄中的HiddenField控制項拖放至頁面中,並通過其屬性頁面為其賦值,當然也可以通過用戶端指令碼進行賦值。在背景程式中可以擷取和設定該值並進行相應判斷處理。
3、FileUpload控制項
作用:上傳檔案
建立方法:將左側工具列“標準”選項欄中的FileUpload控制項拖放至頁面中,效果如:
我們需要在添加一個按鈕來實現上傳事件的提交,並將按鈕Text屬性修改為“上傳”,結果如:
雙擊上傳按鈕,進入頁面後台cs檔案中,將按鈕的Click事件處理函數改為如下:
protected void Button1_Click(object sender, EventArgs e)//Button1為按鈕“上傳”的ID屬性值
{
string path = Server.MapPath("./");//擷取目前的目錄在伺服器上的絕對位址,作為圖片儲存地址。
if (FileUpload1.HasFile)//判斷本地需要上傳的檔案是否已經選取
{
string fileExt = System.IO.Path.GetExtension(FileUpload1.FileName).ToLower();//擷取上傳檔案的副檔名並轉換為小寫,為下面的上傳類型合法性判斷作準備
if (fileExt == ".gif" || fileExt == ".jpg")//只允許上傳.gif和.jpg格式檔案
{
//開始執行上傳操作
try
{
FileUpload1.SaveAs(path + FileUpload1.FileName);//伺服器端儲存該檔案
Response.Write("檔案上傳成功!");
}
catch (Exception ex)
{
Response.Write("檔案上傳過程中發生錯誤,錯誤資訊:" + ex.Message);
}
}
else
{
Response.Write("程式只支援上傳.gif或.jpg格式的檔案!");
}
}
else//如果沒有選擇本地檔案
Response.Write("請先選擇檔案!");
}
至此,一個簡單的檔案上傳功能已經完成了。需要提醒的是:
FileUpload控制項有一個PostedFile屬性,利用該屬性可以擷取與上傳檔案相關的HttpPostedFile對象,使用該對象可以擷取以上傳檔案的路徑、大小、檔案類型等屬性,如:
在上例中可以通過FileUpload1.PostedFile.ContentLength來擷取該上傳檔案的大小。
4、ImageMap控制項
作用:製作圖片導航。利用在圖片上的一個或多個地區建立熱區及連結的方式,製作導航。
建立方法:將左側工具列“標準”選項欄中的ImageMap控制項拖放至頁面中,並通過修改其ImageUrl屬性為它添加圖片(該圖片必須事先通過“添加現有項”,將其加入網站項目中):
然後通過HotSpots屬性為其建立一個或多個熱區:
至於熱區座標的定位,可算是vs的一大疏漏,我們必須用圖片處理工具獲得圖片預定熱區在圖片中的座標和大小,然後才能在vs中很順利的建立熱區。這一點,可比dw差遠了。
需要說明的是:背景程式可以根據ImageMap控制項的Click事件和PostBackValue屬性來擷取使用者點擊的位置。
5、MultiView和View控制項
作用:可以實作類別似於Windows選項卡的功能。MultiView其實是存放一個或多個View控制項的控制項容器。
建立方法:
我們來做一個簡單的2個View控制項的MultiView。
我們先添加2個按鈕來觸發兩個View控制項的切換,分別將其Text屬性修改為“選項卡1”,“選項卡2”,然後斷行符號換行。將左側工具列“標準”選項欄中的MultiView控制項拖放至頁面中,效果如:#p#分網頁標題#e#
然後將左側工具列“標準”選項欄中的View控制項拖放至頁面MultiView控制項中,一共放置2個View控制項(拖放兩次),然後分別在兩個View控制項中輸入各自的內容,結果圖:
按一下滑鼠選擇MultiView控制項,將其ActiveViewIndex屬性的值更改為0,即:預設第一個View控制項被選中啟用。(如果是1,則第二個View控制項被選中啟用)
接著我們來做View控制項切換的觸發事件。雙擊按鈕“選項卡1”進入後台cs檔案中,將其Click函數更改如下:
protected void Button1_Click(object sender, EventArgs e)//Button1為按鈕“選項卡1”的ID屬性值
{
MultiView1.ActiveViewIndex = 0;//ActiveViewIndex屬性:用於擷取或設定當前被啟用顯示的View控制項的索引值
}
雙擊按鈕“選項卡2”進入後台cs檔案中,將其Click函數更改如下:
protected void Button2_Click(object sender, EventArgs e)//Button2為按鈕“選項卡2”的ID屬性值
{
MultiView1.ActiveViewIndex = 1;
}
運行後,當我們點擊“選項卡1”按鈕時,頁面顯示View1控制項的內容;點擊“選項卡2”按鈕時,頁面顯示View2控制項的內容。
如果我們對內容進行修改,再用css進行一番修飾,就完全可以實現Windows “我的電腦” 屬性選項卡的功能了:
6、Wizard控制項
作用:實現操作嚮導的功能。比如“安裝嚮導”、“註冊嚮導”、“分步調查”等。
建立方法:將左側工具列“標準”選項欄中的Wizard控制項拖放至頁面中,在Wizard任務中,點擊“添加移除WizardSteps”:
在WizardStep集合編輯器中依次添加WizardStep、修改Title屬性值、ID屬性值,當WizardStep數量滿足你的要求後,點擊右下方“確定”按鈕。
在設計檢視中點擊第一步(本例為“使用者名稱”),然後滑鼠點擊Wizard控制項的右半部分,對第一步的內容進行編輯:
然後編輯第二步:
...
在最後一步中,Wizard將出現“完成”按鈕,雙擊完成按鈕進入後台cs檔案,對使用者註冊資訊進行處理(比如說寫進資料庫)。
本例運行後效果如下:
本例源碼附上:
upload/2007_05/07050816266783.rar
不知不覺大半天過去了,How Time Fly~
明天我們將接觸到asp.net 2.0建站的的精髓部分:資料來源控制項 SqlDataSource控制項和AccessDataSource控制項