其中onclick属性告诉运行库,在生成窗体的**模型时,把按钮的单击事件包装到triggerbutton_click方法中。
修改triggerbutton_click()中的**(注意标签控件类型是从**中推断出来的,所以可以直接在后台**中使用):
下面准备运行它。不需要建立项目,只需保存所有的内容,把web浏览器指向web站点的地址。如果使用iis,这就很简单,因为我们知道指向的url。
但本例使用内置的web服务器,所以需要启动运行。最快捷的方式是按下ctrl+f5,启动服务器,打开一个浏览器,并指向指定的url。
在运行内置的web服务器时,系统栏中会显示一个图标。双击这个图标,会看到web服务器执行的过程,并可以在需要时停止它,如图37-5所示。
在图37-5中,可以看到web服务器运行的端口和创建web站点的url。
打开的浏览器应显示web页面上的click me按钮。在单击这个按钮前,使用page | view source (在ie7中)快速查看一下浏览器接收到的**。部分应如下所示:
web服务器控件生成了html,和分别代表和。还有一个名为viewstate的字段,把前面提到的窗体状态封装起来。在窗体传送回服务器以重新创建ui,以及跟踪改变时使用这些信息。
注意元素已经进行了配置,通过http post操作(在method中指定)把数据传送回在action中指定),它还被赋予了一个名称form1。
在单击按钮,查看文本后,可再次浏览源html(下面添加了必要的空格,使**比较清晰):
这次viewstate的值包含比较多的信息,因为html的结果不仅仅取决于页面的默认输出。在复杂的窗体上,这可能是一个非常长的字符串,但这是由系统在后台完成的,我们几乎可以不考虑状态管理,只要回送过程之间保存字段值即可。在viewstate字符串过长时,可以禁用不需要保留状态信息的控件的viewstate。
也可以禁用整个页面的viewstate。如果页面不需要在回送过程中保留状态,以提高性能,就可以禁用整个页面的viewstate。
注意:viewstate详见第38章。
为了说明不必手工进行任何编译,把中的文本"button clicked!"改为其他内容,保存文件,再次单击按钮。web页面上的文本会做相应的改变。
1. 控件面板。
本节介绍可用控件,之后把它们组合到一个更丰富、更有趣的应用程序中。本节的内容对应于编辑页面时工具箱中的类别,如图37-6所示。
注意,在控件的描述中使用了"属性"--**中使用的属性与它同名。这里的引用并不完整,许多控件和属性都没有介绍,只介绍了最常用的属性。本章介绍的控件在standard、data和validation类别中。
n**igation and login和webparts类别在第38章介绍,ajax扩展控件在第39章介绍,reporting控件可以在web页面上报告信息,包括crystal reports,本书不讨论。
1) 标准web服务器控件。
几乎所有的web服务器控件(这个类别和其他类别)都继承了 webcontrols. webcontrol,而又继承了 没有使用这个继承特性的web服务器控件则直接派生于control或更专门的基类,而该基类又最终派生于control。因此,web服务器控件有许多共同的属性和事件,如果需要,就可以使用这些属性和事件。
这里不可能介绍所有的元素,只介绍web服务器控件自身的属性和事件。
许多常用的继承属性主要用于处理显示格式,这是很容易控制的,例如属性forecolor、backcolor、font等,也可以使用css(cascading style sheet)类来控制。此时,应在一个独立的文件中,把字符串属性cssclass设置为css类的名称。还可以使用css属性窗口和样式管理窗口给css控件设置样式。
其他属性包括:width和height,用于设置控件的大小;accesskey 和 tabindex,便于用户的交互操作;enabled,设置控件的功能是否可以在web窗体上使用。
一些控件还包含其他控件,在页面上建立控件层次结构。使用controls属性就可以访问给定控件包含的控件,使用parent可以访问控件的容器。
对于事件,最常用的是继承来的load事件,它执行控件的初始化,prerender在控件输出html前进行最后一次修改。
可以使用的事件和属性很多,下一章将详细介绍它们,尤其是下一章将介绍更高级的样式设置技术。表37-1详细描述了标准web服务器控件。
表 37-1
续表) (续表)
2) 数据web服务器控件。
C高级编程 第5章数
如果需要使用同一类型的多个对象,就可以使用集合和数组。c 用特殊的记号声明和使用数组。array类在后台发挥作用,为数组中元素的排序和过滤提供了几个方法。使用枚举器,可以迭代数组中的所有元素。本章讨论如下内容 简单数组。多维数组。锯齿数组。array类。数组的接口。枚举。如果需要使用同一类型的多个对...
C高级编程 第4章继
第3章介绍了如何使用c 中的各个类,其重点是如何定义方法 构造函数 属性和单个类 或单个结构 中的其他成员。我们指出,所有的类最终都派生于类,但并没有说明如何创建继承类的层次结构。继承是本章的主题。我们将讨论c 和。net framework如何处理继承。本章的主要内容如下 继承的类型。实现继承。访...
C高级编程 第3版
前言。对于开发人员来说,把c 语言及其相关环境。net framework描述为多年来最重要的新技术一点都不夸张。net提供了一种新环境。在这个环境中,可以开发出运行在windows上的几乎所有应用程序,而c 是专门用于。net的新编程语言。例如,使用c 可以编写出动态web页面 xml web服务...