### Web服务器控件实验知识点总结
#### 实验背景与目的
本实验旨在通过具体实践,帮助学生掌握ASP.NET中常用Web服务器控件的使用方法,包括文件上传(FileUpload)及日历(Calendar)控件的应用场景和技术要点。通过完成指定的任务,加深对Web应用开发的理解,并提高实际操作能力。
#### 实验环境
- **开发工具**:Visual Studio。
- **服务器环境**:IIS或类似Web服务器。
- **操作系统**:Windows。
- **编程语言**:C#。
- **框架**:ASP.NET。
#### 实验一:使用FileUpload控件上传文件
##### 实验目标
- 创建一个包含FileUpload控件的网页,实现文件选择与上传功能。
- 显示所选文件的相关信息(如文件名、大小等)。
##### 技术要点
- **FileUpload控件**:用于让用户选择并上传文件。
- **获取文件信息**:
- `FileUpload1.FileName`:获取用户选择的文件名。
- `FileUpload1.FileBytes.Length`:获取文件大小。
- `System.IO.Path.GetExtension(fileName)`:获取文件扩展名。
- `FileUpload1.PostedFile.FileName`:获取文件在客户端的路径。
- **保存文件**:使用`FileUpload1.SaveAs()`方法将文件保存到服务器端指定位置。
##### 示例代码分析
```csharp
protected void Button1_Click(object sender, EventArgs e)
{
string fileName = FileUpload1.FileName;
float fileSize = FileUpload1.FileBytes.Length;
string ext = System.IO.Path.GetExtension(fileName);
string filePath = FileUpload1.PostedFile.FileName;
txtFileName.Text = fileName;
txtFileLength.Text = fileSize.ToString();
txtFileExt.Text = ext;
txtFilePath.Text = filePath;
txtFileUploadPath.Text = Server.MapPath(".");
//FileUpload1.SaveAs(Server.MapPath(".") + "/Upload/" + fileName);
Image1.ImageUrl = "Upload/" + fileName;
}
```
- 上述代码展示了如何读取文件信息并显示在文本框中,同时将文件保存到服务器的指定目录下,并将文件显示在页面上。
#### 实验二:Calendar控件的使用
##### 实验目标
- 创建一个包含Calendar控件的网页,实现日期的选择功能。
- 根据所选日期动态更新相关数据。
##### 技术要点
- **Calendar控件**:提供了一个可交互的日历界面,用户可以从中选择日期。
- **动态更新日期信息**:
- 使用`cldDateTime.SelectedDate.ToShortDateString()`获取选中的日期,并将其显示在页面上。
- 可以根据所选日期执行相应的逻辑处理,如查询数据库等。
##### 示例代码分析
```csharp
// 得到当前选中的日期:
lblDate.Text = cldDateTime.SelectedDate.ToShortDateString();
// 将cldDateTime日历控件选中的值设置为当前下拉列表所表示的日期
cldDateTime.SelectedDate = DateTime.Parse(DropDownListYear.SelectedValue + "-" + DropDownListMonth.SelectedValue + "-" + DropDownListDay.SelectedValue);
```
- 这部分代码展示了如何获取Calendar控件选中的日期,并将其转换为短日期格式显示出来,以及如何根据下拉列表的选择更新Calendar控件的选中日期。
#### 总结
通过以上两个实验的学习和实践,学生能够熟练掌握FileUpload和Calendar控件的基本用法及其在Web应用中的应用场景。这对于今后进行更复杂Web应用的开发有着重要的意义。同时,通过动手编写代码,学生还能更好地理解控件背后的原理和技术细节。