亲密接触ASP.Net(4)

  •   2009-07-27/22:12
  • 整天的泡在考研的资料里面,闲暇时就和朋友们大谈特谈NGWS,一天终于被lazy兄一棍子打醒,"都什么年代了,还在谈NGWS",慌忙中赶快重新下载我心目中的"NGWS",装上后,发现今非昔比,这个NGWS已经改名叫Micosoft .Net ,ASP+也堂而皇之的改名为ASP.Net.而且现在不仅window 2000能够安装调试asp.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:\winnt\microsoft\framework\v1.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,这个是很重要的。



    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多