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控件不支持的优点。