Rich控制項主要包括:
(1)FileUpload控制項
(2)Calender控制項
(3)Adrotator控制項
(4)Multiview控制項
(5)Wizard控制項
本筆記主要講了FileUpload控制項的簡單用法。
1、 FileUpload控制項用於使用者向web應用程式上傳檔案。
(1)把檔案儲存到檔案系統
在FileUpload控制項瀏覽選擇好本地要上傳的檔案後,點擊確定按鈕進行上傳,代碼如下所示:
protected void Button1_Click(object sender, EventArgs e)
{
if (FileUpload1.HasFile)
{
if (CheckFileType(FileUpload1.FileName))
{
string dpath = MapPath("~/UploadFile");
DirectoryInfo dr = new DirectoryInfo(dpath);
if(!dr.Exists)
dr.Create();//如果不存在指定的圖片存放目錄,則建立該目錄
string filePath = "~/UploadFile/" + FileUpload1.FileName;
FileUpload1.SaveAs(MapPath(filePath));//儲存上傳的檔案
DataList1_Databind();
}
}
}
過程中用方法CheckFileType對上傳的檔案的類型進行判斷
bool CheckFileType(string fileName)
{
string ext = Path.GetExtension(fileName);
switch(ext)
{
case ".gif":
return true ;
case ".jpg":
return true;
case "jpeg":
return true;
default:
return false;
}
}
(2)把檔案儲存到資料庫
用FileUpload控制項也可以把檔案儲存到資料庫。
思路:擷取FileUpload控制項的FileBytes屬性內容,然後將此內容儲存到資料庫相應欄位。
讀取資料庫中檔案的內容時,可用
Context.Response.BinaryWrite(file);
方法在瀏覽器中顯示檔案內容。
(3)上傳大檔案
上傳大檔案需要做一些額外的工作,不要把伺服器的整個記憶體都消耗在容納上傳的整個大檔案上。處理大檔案時,需要使用多個可託管(manageable)記憶體塊來處理檔案。
首先,為了處理大檔案需要配置應用程式。有兩個配置項影響著向伺服器提交大檔案:
HttpRuntime maxRequestLength和HttpRuntime requestLengthDiskThreshold.
maxRequestLength配置項指定提交的表單能被伺服器接收的最大值,預設是4MB。
requestLengthDiskThreshold配置項決定如何把上傳表單緩衝在檔案系統。當檔案大小超過requestLengthDiskThreshold的設定值時(預設為80KB),檔案的餘下部分被緩衝在檔案系統(asp.net臨時檔案夾)中。
注意:requestLengthDiskThreshold<maxRequestLength
在Web.Config上傳大檔案需要進行配置
<system.web>
<httpRuntime maxRequestLength="102400" requestLengthDiskThreshold="100"/>
</system.web>
2. 顯示日曆
Calender控制項用來顯示日曆,這個控制項不算複雜,這裡不作筆記。
3. 顯示廣告
AdRotator控制項用於在頁面中隨機顯示不同的廣告。可以把廣告列表儲存在XML檔案或者資料庫表中。
4. 顯示不同整頁模式
MutiView控制項用於顯示和隱藏頁面的不同地區。在需要建立索引標籤頁面面(tabbed page)時,這個控制項非常有用。
在使用MutiView控制項時一般會和Menu控制項以及View控制項一起使用。
5.顯示嚮導
Wizard控制項像MutiView控制項一樣,能用來把一個大的表單分成多個子表單。但是Wizard控制項具有更多MutiView控制項不支援的優點。