《ASP.NET(C#)从零到入门》
作者:初雪者
校验:困了也不睡第五讲——控件篇_服务器控件(一)
通过前四讲的学习我们对C#语言的基础方面有了一定的了解,为了培养大家的学习兴趣,我们从这一讲开始,不在继续讲述枯燥的编程原理,开始从控件方面着手,把ASP.NET在WEB开发方面使用的经典控件一一展示给大家看,同时在实例中我们会把C#语言关于类、对象等使用进行有效的说明。
会有人问,为什么我们要从WEB服务器控件开始学起,而不从HTML控件呢?我们之所以要先学习服务器控件,是因为服务器控件的交互性能相比HTML控件要高一些,HTML控件是基于HTML语言实现的,我们初学者还没有掌握这门语言,而服务器控件简单而又强大的可视化操作十分方便,初学者不必熟悉HTML的工作原理就可以使用。
一.WEB服务器控件的基础属性
大家要知道我们所有的控件都是一个对象,这些对象都是从WebControl类中继承来的,所以Web控件会有一些共同的属性。我们列出来并记住他们。
AccessKey:用于设置快界键的属性(ALT+字母)。当按下快界键后这个控件就立即被选中。
Attributes:返回控件所有的属性名称/值对的集合。可以在控件没有为某些特性提供专门的访问属性时读取或设置这些特性。
BackColor:用来读取或者设置控件背景色,其设定值可以为颜色的专门名称或者是#RRGGBB.
BorderColor:读取或者设置边框的颜色。
BorderWidth:读取或者设置控件边框的宽度。
BorderStyle:用来设定对象边框样式,有10种样式设定:Noset(默认值),None(无边框),Dotted(虚线,点较小),Dashed(虚线,点较大),Solid(实线),Double(实现、厚度为Solid两倍),Groove(3D凹陷式),Ridge(3D突起),Inset(凹入显示),Outset(突起显示)。
CssClass:用来设置或者读取与控件想关联的CSS样式表。
Enabled:用来决定空间是否正常工作,或者停止工作。
EnableViewState::当页面环回重建时,是否保持该控件和他的子控件的视图状态。
Font:设置字体样式。
ForeColor:设置前景色。
Height:用来设置控件高度值。
TabIndex:用来设定当用户按下[TAB]键时,选择控件的转换顺序。
ToolTip:用来设定当前用户鼠标悬停在控件上方时,显示的文字提示信息。
Visible:用来显示或隐藏的属性。
Width:社顶空间的宽度值。
以上就是WEB服务器控件共有的一些属性,大家可以自己拖一些控件尝试一下这里就不在描述了。
二.TextBox控件与按钮控件
TextBox控件
特有的属性
AutoPostBack=True/false;网页回传
Columns=”字符数目”;
MaxLength=”最大字符数”;
Row=”列数”;
Text=”框中显示的文本串”;
TextMode=”Single、Multiline或者Password”;输入内容是单行还是多行,或者是密码
Wrap=”True/False”;
OnTextChanged=”事件处理程序名称”;
ReadOnly=”true/false”;内容是否只读;
TextChanged=”内容改变事件”;
现在用例子常识实现它:
图1

布置好控件之后,请自己给它们命名ID(这是一个好的习惯),之后进入后台代码设定我们要看到的属性:
private void Page_Load(object sender, System.EventArgs e)
{
if(!IsPostBack)
{
userid.MaxLength=10; //用户名长度
userps.MaxLength =5; //密码长度
userps.TextMode=TextBoxMode.Password ;//密码输入框模式
reps.ReadOnly =true; //重复密码框
iview.TextMode =TextBoxMode.MultiLine ;//签名框模式
iview.Wrap =true; // 换行
}
}
private void Button1_Click(object sender, System.EventArgs e)
{ reps.Text =userps.Text ;
Label7.Text ="您的用户名是:"+userid.Text ;
Label8.Text ="您的签名是:"+"<br>"+iview.Text ;//这里<br>是HTML的换行符
}
// 这里大家也可以在属性面板设置,但是为了养成编写程序的习惯我们在后台进行。
编写好了之后我们运行一下,怎么样?实现了吧!
按钮控件
按钮控件共有属性
CommandName=“命令名称”;
CommandArgument=“命令参数”;
OnClick=“时间处理程序名称”
我们对按钮已经很熟悉了,WEB服务器控件的按钮分三种:Button、ImageButton、LinkButton。它们的功能基本相同,只是ImageButton外观是用图片来实现的,可以达到美化网站的效果,而LinkButton实际上就是超连接。我们对它们的属性不多做介绍,大家完全可以自己理解明白。但是我们要通过按钮来学习一个技巧——CommadName绑定。
我们看图2

我们拖放一个Image控件,然后在属性面板里面选择它的Imageurl,起布置好2个按钮控件和Label控件,我们切换到后台输入代码:
//在放好图片后我们要注意,因为初始默认是0所以我们要动一动它,它才会获取值,否则是0
private void Page_Load(object sender, System.EventArgs e)
{
Button1.CommandName ="getx"; //设置按钮的命令名
Button2.CommandName ="gety";
this.Button1.Click +=new System .EventHandler (this.getpx);//绑定到同一个方法上
this.Button2.Click +=new System.EventHandler (this.getpx);
}
private void getpx(object sender , System.EventArgs e)//编写的方法
{
if(((Button)sender).CommandName =="getx")
{
Label1.Text ="高度是:"+Image1.Height.Value .ToString();
}
if(((Button)sender).CommandName =="gety")
{
Label2.Text ="宽度是:"+Image1.Width.Value.ToString();
}
}
到这里今天的两个控件内容就讲完了,希望大家实际练习的过程中对照属性面板去尝试各控件其他的属性效果。
下面分享一个概念:
继承:是面向对象软件技术当中的一个概念。如果一个类A继承自另一个类B,就把这个A称为"B的子类",而把B称为"A的父类"。继承可以使得子类具有父类的各种属性和方法,而不需要再次编写相同的代码。在令子类继承父类的同时,可以重新定义某些属性,并重写某些方法,即覆盖父类的原有属性和方法,使其获得与父类不同的功能。