ASP.NET服务器控件之C#高级编程

作者:袖梨 2022-06-25

可以添加到ASP.NET页面上的控件有3种类型:

HTML服务器控件——这些控件模拟HTML元素,HTML开发人员会很熟悉他们。

Web服务器控件——这是一组新的控件,其中一些控件的功能与HTML控件相同,但它们的属性和其他元素有一个公共的命名模式,便于进行开发,而且可以与相似的Windows窗体控件保持一致。Web服务器控件有几种类型,包括标准控件,如按钮、验证用户输入的验证控件、简化用户管理的登录控件,和处理数据源的一些较复杂的控件。

定制控件和用户控件——由开发人员定义的控件。

所有的Web服务器控件都以下出XML元素的方式使用:

 代码如下 复制代码

Contents

其中X是ASP.NET服务器控件的名称,attribute=”value”是一个或多个属性规范,Contents指定控件的内容那个。

注意,控件的语法是基于XML的(它们也可以内嵌在非XML代码中,例如HTML)。省略闭合标记、空元素/>,或者重叠控件,都会产生错误。

Web服务器控件上的runat=”server”属性,遗落这个属性,结果将是一个不能运行的Web窗体。

第一个例子,添加了两个Web窗体控件,标签和按钮:

 代码如下 复制代码

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

 

 

无标题页


看看设计屏幕(点击代码窗口的左下角“设计”),其中已经添加了控件,并用它们的ID属性命名。与Windows窗体一样,可以通过Properties窗口访问所有的属性、事件等。

添加的所有服务器控件都会自动成为对象模型的一部分,该对象模型是在这段后置代码中为窗体构建的。

要让这个应用程序完成一些工作,应添加单击按钮的事件处理程序,可以在Propertier窗口中为按钮输入一个方法名,也可以双击该按钮,得到默认的事件处理程序。如果双击按钮,就可以自动添加一个事件处理方法:

 代码如下 复制代码

protected void triggerButton_Click(object sender, EventArgs e)

{

 

}

把一些代码添加到Default.aspx中,就可以把事件处理程序链接到按钮上:

 代码如下 复制代码


其中OnClick属性告诉ASP.NET运行库,在生成窗体的代码模型时,把按钮的单击事件包装到triggerButton_Click方法中。

修改triggerButton_Click()的代码:

 代码如下 复制代码

protected void triggerButton_Click(object sender, EventArgs e)

{

resultLable.Text="Button clicked!"

}

下面准备运行它,保存所有内容。把Web浏览器指向Web站点的地址。如果使用IIS,就在浏览器输入指向的URL。如果是使用内置的Web服务器,需要启动运行,快捷键是Ctrl+F5,启动服务器,打开一个浏览器,并指向指定的URL。

运行后,一般使用的是IE浏览器,所以右键单击页面,“查看源代码(View Source)”。可以发现:

 代码如下 复制代码

Button clicked!

Web服务器控件生成了HTML,分别代表。还有一个名为__VIEWSTATE的字段,把前面提到的窗体状态封装起来。在窗体传送服务器以重新创建UI,同时跟踪改变时使用这些信息。注意

元素进行了配置,通过HTTP POST操作(在method中指定)把数据传送回Default.aspx(在action中指定),它还被赋予了一个名称form1。

相关文章

精彩推荐