ASP.NET 控件总结

本文介绍了ASP.NET中的FileUpload控件多文件上传,Panel控件的GroupBox和常规标签功能,Button的OnClientClick属性,以及验证控件如RequireFieldValidator、RangeValidator的使用。重点讲解了如何在客户端和服务端进行校验以及共享事件处理。
摘要由CSDN通过智能技术生成

ASP.NET 服务器控件是ASP.NET对HTML的封装
1、FileUpload
渲染成input(type=file),只允许上传指定类型文件,上传文件夹不给执行选项

if(FileUpload1.HasFile) //用户是否选择了文件
{	
    string path = Server.MapPath("../EM/aa/");      //根目录                
    FileUpload1.SaveAs(path + FileUpload1.FileName); 
}

```csharp   同一个FileUpload 多个文件 上传
 if (FileUpload1.HasFile)
            {
                string path = Server.MapPath("../EM/aa/");
                IList < HttpPostedFile > postedFiles = FileUpload1.PostedFiles;
                for (int i = 0; i < postedFiles.Count; i++)
                {
                    postedFiles[i].SaveAs(path + postedFiles[i].FileName);
                }                  

            }

// 多文件上传,不限制一个FileUpload 多个文件, 提交时,所有的文件。
string path = Server.MapPath(“…/EM/aa/”);
HttpFileCollection files = Request.Files;
for (int i = 0; i < files.Count; i++)
{
HttpPostedFile postedFile = files[i];
try
{
if (postedFile.ContentLength > 0)
{
postedFile.SaveAs(path + postedFile.FileName);
}
}
catch (Exception Ex)
{
Label1.Text += "发生错误: " + Ex.Message;
}
}

``

2、panel 控件 用来盛放一些控件。如果设定GroupingText属性 那么就渲染成

xxxx //其它控件 也就是GroupBox效果【WinFrom】,否则渲染为普通的
标签 3、Button控件 OnClientClick**属性,不是事件**,当用户点击按钮的时候在浏览器端执行的代码,注意OnClientClick是字符串属性,写的代码是JavaScript代码,运行在浏览器端。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/4930a414731a48948aefb6087204c78e.png)

在这里插入图片描述
在这里插入图片描述
LinKButton,用法和Button差不多,区别就是Button渲染控件为按钮,而LinkButton渲染为超链接。
不要用LinkButton来实现普通的超链接,因为LinkButton的href为一段Javas代码,进行的是表单Post。
ImageButton控件也和Button差不多,只不过是显示为图片,渲染为input(type=image)

Button、LinkButton、ImageButton等控件都有CommandName、CommandArgument两个属性和Command事件,可以让多个按钮控件共享一个Command事件处理函数,通过读取事件对象e.CommmandName、e.CommandArgument两个属性读取被点击按钮上设置的这两个参数来执行不同的操作。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
4、Label控件 Text属性为显示文本。
AssociatedControlID属性用来关联一个控件,如果为空的话会展示一个span 标签,如果指定了一个控件的id,则会展示为一个html中的

5、验证控件

RequireFieldValidator
RangeValidator
CompareValidatator
RegularExpressionValidator
CustomValidator
ValidattionSummary

ValidattionSummary:同一个组别所有校验错误,验证总结,ErrorMessage 汇总,Text 错误,显示在控件旁边。
在这里插入图片描述

RangeValidator、RegularExpressionValidator、CompareValidatator等都不会对非空值进行校验的。所以如果字符不允许为空,则需要使用RequireFieldValidator控件
客户端和服务端都要进行校验的,EnableClientScript 布尔值,规定是否启用客户端验证。如果设置false,则客户端渲染就没有这验证标签了,但服务端仍然会校验的,只要校验不通过,页面还会错误提示的
在这里插入图片描述
在这里插入图片描述

页面中的IsValid属性用来判断页面中的所有Validator是否都校验通过,只要都校验通过才为True,即使页面中的Validator服务端校验报错(禁用Javascript跳过客户端校验),在服务端方法中的业务代码也会被执行,因此如果代码在数据校验不通过的不能执行,则需要判断IsValid的值。

所有校验控件都要Display属性,用来决定如何显示错误信息。三个值:
Static:没有错误信息的时候控件的Visibility样式为hidden来实现隐藏
Dynamic:没有错误信息的时候控件的Display样式为none来实现隐藏
none:
display:none 和visibility:hidden
hidden:隐藏控件仍然会占据空间,只是人眼看不到,DOM还是可以读取的
none:隐藏控件不会占据空间了,DOM、人眼都看不到了。
在这里插入图片描述
如果将按钮控件(Button、ImageButton、LinkButton)的CasueValidation属性设置为false,则这个按钮的点击不会触发校验。

CustomValidator: ServerValidate事件为服务端的校验代码,在事件处理函数中读取args.Value来获取待校验的值,如果值合法则将args.IsValid设置为True,否则设置为false。
如果为ClientValidationFunction设定一个函数名,那么会首先在客户端调用指定的JavaScript函数进行客户端校验,否则将只做服务端校验。客户端校验函数的签名为: 函数名(src,args),args的属性以及意义和服务端的一样
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值