• ASP.NET 控件总结


    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);
                    }                  
    
                }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    // 多文件上传,不限制一个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的属性以及意义和服务端的一样
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

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

  • 相关阅读:
    (整理未完成)【递推 / 递归】分形
    STM32F10x SPL V3.6.2 集成 FreeRTOS v202112
    2022-07-06 网工进阶(十六)路由策略-关于双点双向重分布的解决方案
    IOS17闪退问题Assertion failure in void _UIGraphicsBeginImageContextWithOptions
    MYSQL事务原理分析
    Linux文本三剑客---awk
    AWS无服务器 应用程序开发—第十六章 CI/CD CodeBuild
    界面组件DevExpress ASP.NET Core v23.1 - 进一步升级UI组件
    QT+OSG/osgEarth编译之十八:geos+Qt编译(一套代码、一套框架,跨平台编译,版本:geos-3.11.0)
    建成 5000 多间「梦想中心」后,他们决定将技术开源
  • 原文地址:https://blog.csdn.net/u013400314/article/details/126499189