欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

亲密接触ASP.Net(4)

程序员文章站 2022-11-03 18:50:43
整天的泡在考研的资料里面,闲暇时就和朋友们大谈特谈ngws,一天终于被lazy兄一棍子打醒,"都什么年代了,还在谈ngws",慌忙中赶快重新下载我心目中的&qu...
整天的泡在考研的资料里面,闲暇时就和朋友们大谈特谈ngws,一天终于被lazy兄一棍子打醒,"都什么年代了,还在谈ngws",慌忙中赶快重新下载我心目中的"ngws",装上后,发现今非昔比,这个ngws已经改名叫micosoft .net ,asp+也堂而皇之的改名为asp.net.而且现在不仅window 2000能够安装调试.net了,而且连最烂的"瘟酒吧"也可以了,于是发现自已离时代越来越远了.....(台下人:发表什么感叹,还不快入正题)(同时,一不明飞行物突然向飞刀砸来,飞刀立刻倒在血泊中.....)

web控件
按照计划我们这一节要谈web控件,我想了半天也不知道如何定义这个web控件,它比html控件难于理解,毕竟html太像原来我们熟悉的东东了。而web控件确与我们平常见到的有很大的出入,不知道大家还记不记得我说过的一句话,那就是asp.net的程序就像是写vbvc中的窗口,先再这些窗口中加入我们的需要的控件,然后再对这些控件进行操作。如果你学过一点点vbvc的,那么理解这个就不难了,asp.net中的web控件就像是vbvc中的控件一样。我们先在页面中摆好这些控件,然后再通过page_load以及其它一些自定义事件来对他们进行控制。我们还是通过看一个实例来了解一下吧。我们先举简单的label控件吧.

源代码如下:

<% @ page language="c#" %>
<% @ import namespace="system.data" %>
<script language="c#" runat="server">
public void page_load(object src,eventargs e)
{
if(!page.ispostback)
{
label3.text="这是黑体字,并且带下划线";
}
}
</script>
<html>
<head>
<title>测试label控件</title>
</head>
<body>
<bold>测试label控件:<br></bold>
<asp:label id="label1" font-size="9pt" font-bold="true" forecolor="red" runat="server">这是红色粗体的文字</asp:label><br>
<asp:label id="label2" font-size="10pt" font-italic="true" forecolor="blue" runat="server" text="这是蓝色斜体的文字" /><br>
<asp:label id="label3" font-size="11pt" font-underline="true" runat="server" />

</body>
</html>

这段程序执行后的结果是

  测试label控件:
这是红色粗体的文字
这是蓝色斜体的文字
这是黑体字,并且带下划线

看看源代码,再看看程序执行的结果是不是发现label控件和vb中的label控件很相近:)

(注:你在你的机器上看到的中文可能是乱码,那么请您打开x:winntmicrosoftframeworkv1.0.224目录,找到其中的config.web文件,打开它,找到下面的文字:

<globalization
requestencoding="iso-8859-1"
responseencoding="iso-8859-1"
/>

把其中的iso-8859-1改为gb2312,ok,再执行一下程序,中文是不是出来了:)

这里我们用了三种方法来操作label控件,第一种是类似html的闭合标签,将要写的字写在<asp:label></asp:label>之间;第二种是用到了label控件text属性;第三种,是通过执行page_load事件而把文字写进label控件的。这三种方法都很有用,看你自已的喜欢了,第三种是最常用的啦,以后我们会经常用到.label控件不光有text属性来控制它的文字,而且还有font-size等属性来控制字体大小,颜色等属性,这里的例子我都用到了,大家好好看看,相信没有什么问题

我们见过了label控件的操作,那么我们对web控件有了一个感性的认识,在asp.net中,一共有28个web控件,它们是:

adrotator button calendar checkbox
checkboxlist comparevalidator customvalidator datagrid
datalist dropdownlist hyperlink image
imagebutton label linkbutton listbox
panel radiobutton radiobuttonlist rangevalidator
regularexpressionvalidator repeater requiredfieldvalidator table
tablecell tablerow textbox validationsummary

大家可以到我上一节讲的那个站点去具体看一下他们各自的用法,这里我本来想主要讲一下datagrid,datalit,listbox但是他们其中都需要用到binding知识(这个我们在下一节讲),所以我们主要来看看dropdownlist的用法(因为我们上一节是用的select来讲解html控件的)

先看一个例子:

<% @ page language="c#" %>
<% @ import namespace="system.data" %>
<script language="c#" runat="server">
public void page_load(object src,eventargs e)
{

}
public void sub_click(object sender,eventargs e)
{
string chioce;
chioce=ddl.selecteditem.text;
show.text="您选择的是本工作室的<font color=red>"+chioce+"</font>成员";
}
</script>
<html>
<head>
<title></title>
</head>
<body>
<form runat="server">
请选择aspcn.com工作室程员:<br>
<asp:dropdownlist id="ddl" runat="server">
<asp:listitem>飞刀</asp:listitem>
<asp:listitem>大风</asp:listitem>
<asp:listitem>zsir</asp:listitem>
<asp:listitem>布丁</asp:listitem>
<asp:listitem>亚豪</asp:listitem>
</asp:dropdownlist>
<br>
<asp:button id="sub" text="提交" runat="server" onclick="sub_click" /><br>
<asp:label id="show" runat="server"/>
</form>
</body>
</html>

它执行显示为:

  
请选择aspcn.com工作室程员:
飞刀 大风 zsir 布丁 亚豪



如果我选中了其中的飞刀,然后再按下"提交"键,那么显示就是:

请选择aspcn.com工作室程员:
飞刀 大风 zsir 布丁 亚豪

您选择的是本工作室的飞刀成员


dropdownlist控件,其实和select差不多,功能也就多那么一点点,但是这个多一点点的功能就是很有用的,这就是我们下一节要学习的bind,呵呵,是不是想学了:)不急,我们先分析一下这里的程序。

我们用dropdownlist控件建立起一个list列表,然后我们选择其中的一个选项,最后按提交键提交。这里我们可以看到处理程序的是sub_click这个事件,这里由名为sub的button控件激发,所用的事件是onclick,这里和html控件所使用的onserverclick事件是不同的,大家要分清楚。其它的好像没有什么可以说了。呵呵

我们下一节要讲bind,这个是很重要的。