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
);
}
}