Panel控件:
Panel控件是一個容器控件,可以將它用作靜態文本和其他控件的父級。
它有如下常見屬性:
屬性 | 類型 | 說明 |
---|---|---|
BackImageUrl | string | 規定顯示控件背景的圖像文件的 URL。 |
DefaultButton | string | 規定 Panel 中默認按鈕的 ID。 |
Direction | string | 規定 Panel 的內容顯示方向。 |
GroupingText | string | 規定 Panel 中控件組的標題。 |
HorizontalAlign | string | 規定內容的水平對齊方式。 |
runat | string | 規定控件是服務器。必須設置爲 “server”。 |
ScrollBars | string | 規定 Panel 中滾動欄的位置和可見性。 |
Wrap | bool | 規定內容是否折行。 |
aspx控件代碼:
<asp:Panel runat="server"></asp:Panel>
FileUpload 控件
FileUpload 控件是一個很重要的控件,它被 Web 服務器最終解釋爲形如 input type=”file” 這樣的普通 HTML 控件。
它有如下常見屬性:
屬性 | 類型 | 說明 |
---|---|---|
FileBytes | byte[] | 上傳的文件內容的字節數組表示形式 |
FileContent | Stream | 上傳文件的數據流 |
FileName | string | 上傳文件在客戶端的名字 |
HasFile | bool | 指示是否上傳了文件 |
PostedFile | HttpPostedFile | 獲取文件基礎的 HttpPostedFile 對象,裏面也有一些屬性 |
PostedFile.ContentLength | int | 上傳的文件內容的字節長度 |
PostedFile.ContentType | string | 上傳文件的 MIME 內容類型 |
PostedFile.FileName | string | 上傳文件的在客戶端的名字 |
PostedFile.InputStream | Stream | 指向上傳文件的 Stream 對象 |
FileUpload 控件還有一個 void SaveAs (string filename)的方法,這個方法用於將上傳文件保存到服務器上,一般來說,使用FileUpload控件上傳文件一般有如下幾個步驟:
- 利用HasFile屬性判斷是否上傳了文件。
- 在服務器上指定一個物理路徑,並檢查這個物理路徑是否存在,如果不存在先創建。
- 指定上傳文件在服務器上的上傳路徑,利用Save()保存上傳的文件,這一步還可以做一些其它檢查工作,比如檢查上傳的文件是否符合要求或文件內容大小是否符合要求。
- 將相對路徑或者URL地址保存起來,以便客戶訪問下載。
注意:上傳文件大小限制在Web.config
文件的httpRuntime
項添加maxRequestLength="102400"
aspx控件代碼:
<asp:FileUpload ID="fileUpload" runat="server" />
<asp:Button ID="btnUpload" runat="server" OnClick="btnUpload_Click" Text="上傳" />
<asp:Literal ID="literal" runat="server"></asp:Literal>
aspx.cs控件邏輯代碼:
protected void btnUpload_Click(object sender, EventArgs e)
{
//判斷是否上傳了文件
if (fileUpload.HasFile)
{
//指定上傳文件在服務器上的保存路徑
string savePath = Server.MapPath("~/upload/");
//是否存在路徑,如果不存在則創建
if (!System.IO.Directory.Exists(savePath))
{
//需要對這個路徑有足夠的權限,否則會報錯
System.IO.Directory.CreateDirectory(savePath);
}
//獲取文件名
savePath = savePath + "\\" + fileUpload.FileName;
//保存文件
fileUpload.SaveAs(savePath);
//渲染ID literal
literal.Text = string.Format(
"<p>文件下載:<a href='upload/{0}'>upload{0}</a>" +
"</p><p>文件大小:{1}字節</p>" +
"</p><p>文件名稱:{0}</p>",
fileUpload.FileName, fileUpload.PostedFile.ContentLength
);
}
}