asp.net控件

1.asp.net控件、HTML服务器控件都有的特点

(1)必须在当前页面有一个唯一的ID属性和runat="server";

(2)必须放在服务表单中,也就是<form runat="server" id="formID">...</form>之中;

(3)最终会解释成普通的HTML控件发送到客户端

asp.net控件的形式是形如<asp:Button ID="btnOK" runat="server" Text="提交"/>

在客户端解释为普通的HTML控件,形如<input type="submit" name="btnOK" value="提交" ID="btnOK"/>


asp.net表单:<form id="form1" runat="server">

在客户端:<form name="form1" method="post" action="index.asp" id="form1"/>


2.几个常用的asp.net控件

(1)Button控件

属性:onClientClient:Button的Click事件触发时要执行客户端的脚本

            CommandArgument:参数会传递到command事件

            Cssclass:用来设置控件的css属性,当外部的css样式一改变,所有使用该样式的控件风格都一起改变

事件:Click事件 的委托类型是EventHander

            Command事件 的委托类型是CommandEvenHander,需要向客户端传递参数的话可以用Command事件

不能同时使用着两个事件


(2)TextBox控件

属性:TextMode:SingleLine(默认值)单行;password密码;Multiline多行

            AtuoPostBack:默认为false,当设置为true时,TextBox的值一发生变化就会自动向服务器提交,有一个专门的事件TextChanged来专门处理TextBox中的文本变化的情况。然而现在有jax,因此,AutoPostBack的默认值为false。


(3)FileUpload控件

属性:FileName、HasFile(是否上传文件)等

方法:void SaveAs(string filename/filepath)将文件保存到服务器上

FileUpLoad控件在客户端显示为形如<input type="file"...../>

FileUpLoad上传文件的步骤

1)利用HasFile属性判断是否上传文件;

2)在服务器上制定一个物理路径,并检查路径是否存在,如果不存在就先创建路径;

3)得到上传文件的服务器路径,利用SaveAs()将文件保存到服务器上;

4)将相对路径或URL地址保存,以便客户访问或下载。

protected void btnUpload_Click(object sender, EventArgs e)
        {
            //判断是否上传的文件
            if (this.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);//保存文件
                //在客户端访问需要指定的URL地址,而不是服务器上的物理地址
                literal.Text = string.Format("<a href='upload/{0}'>upload/{0}",fileUpload.FileName);
            }
        }


(4)Literal控件

类似与Lable控件,但与Lable控件不同的是:Literal不能用于Css样式显示的文本。


(5)Panel控件和PlaceHolder控件,都是一个容器控件,用来存储一组控件。

你可能感兴趣的:(asp.net控件)