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控件,都是一个容器控件,用来存储一组控件。