当前位置:天才代写 > tutorial > 其他教程 > ASP.NET立即上手精品教程(14)

ASP.NET立即上手精品教程(14)

2018-05-24 08:00 星期四 所属: 其他教程 浏览:588

今天由小编为大家讲解有关语言编程的文章,相信对大家一定有很大的帮助

创作自定义服务器控件
java软件本章的内容演示高级开发者如何书写.NET页面中的服务器控件。通过书写自定义的服务器控件,可以封装定制的用户接口以及其他功能。本教程通过一系列逐渐展开的例子提供了创作自定义控件的入门知识。关于控件创作的更多信息,参阅.NET Framework SDK文档中“开发ASP.NET服务器控件”部分。
重要提示:本章表述的控件尽管可以在ASP.NET页面的运行时刻正常运行,但是在页面,如Microsoft Visual Studio.NET,时却有可能无**常工作。为了在设计器中正常工作,自定义控件需要应用设计时刻属性—-该属性在本章不进行表述。关于设计时刻属性的细节,参阅SDK文档中“组件的设计时刻属性”部分。
开发一个简单的自定义控件
开始创作自己的ASP.NET服务器控件其实很容易。要想建立一个自定义控件,你需要做的全部工作仅仅是定义一个从System.Web.UI.Control继承而来得类,并且覆盖它的Render方法。Render方法带有一个System.Web.UI.HtmlTextWriter类型的参数。控件需要发送到客户端的HTML代码作为字符串参数传递给HtmlTextWriter的Write方法。
定义简单的属性
属性类似于“聪明”的字段,它具有存取器方法。你可能从你的控件中expose属性而不是公共字段,因为属性允许数据隐藏,可以版本控制,并且可以被可视化设计工具所支持。属性具有get/set存取器方法,用来设置和取得属性值,并允许在必要的时候执行额外的程序逻辑。
下面的例子展示如何增加简单的属性,它对应私有数据类型,如整数、布尔和字符串。这个例子定义了三个属性:Message是字符串类型、MessageSize是枚举类型、Iterations是整数类型的。请注意设置简单属性和枚举属性的ASP.NET页面语法。
定义类属性
如果类A的属性类型是类B,那么B的属性被称为A的子属性。下面的例子定义了一个自定义服务器控件SimpleSubProperty,它有一个Format类型的属性。Format是一个具有两个私有属性的类:Color和Size ,c语言指针他们依次成为了SimpleSubProperty的子属性
注意ASP.NET具有特定的语法来设定子属性。下面的代码显示了如何显式设置SimpleSubProperty的子属性Format.Color和Format.Size。“-”语法表示子属性。

编程语言的描述一般可以分为语法及语义。语法是说明编程语言中,哪些符号或文字的组合方式是正确的,语义则是对于编程的解释。有些语言是用规格文件定义,例如C语言的规格文件也是ISO标准中一部份,2011年后的版本为ISO/IEC 9899:2011,而其他语言(像Perl)有一份主要的编程语言实现文件,视为是参考实现。
编程语言俗称“计算机语言”,种类非常的多,总的来说可以分成机器语言、汇编语言、高级语言三大类。电脑每做的一次动作,一个步骤,都是按照已经用计算机语言编好的程序来执行的,程序是计算机要执行的指令的集合,而程序全部都是用我们所掌握的语言来编写的。所以人们要控制计算机一定要通过计算机语言向计算机发出命令。 目前通用的编程语言有两种形式:汇编语言和高级语言。
知乎

C语言是有用的,它的指针尤为重要,是帮助我们理解计算机程序运行的基础,但是我当初学C语言确实费了老劲儿,原因却很搞笑,因为我们的C语言老师是个大舌头,一句话就开始两个字能听清,而且这个老师不怎么负责,什么都敷衍。而我们当时也没有程序设计语言这门课,没有讲过程序设计语言是怎么回事,于是整整一学期,就搞明白了C语言中“=”是一个赋值号,而不是数学中的等号。对C语言稍微有一点认识,是从学Java开始的,因为Java老师讲话清晰,教学也比较认真,中规中矩学了一个学期,才算开始练习编程。而整个本科阶段,自己算是连计算机的边都没摸到,因为有太多的疑惑与不理解,相对而言我觉得数学还简单一些。

ASP.NET立即上手精品教程(14)
找回内部的内容
每个控件都有一个从System.Web.UI.Control继承的Controls属性。这是一个集合属性,表示控件的子控件。如果一个控件没有用ParseChildrenAttribute或者ParseChildrenAttribute(ChildrenAsProperties = false)标识,那么当控件在页面中声明的时候,ASP.NET页面框架就会应用下面的解析逻辑。如果解析器在控件的标签中遇到嵌套控件,它就会建立控件实例,并将其添加到控件的Controls属性。标签间的文字文本被添加为LiteralControl。任何其他嵌套元素产生一个解析错误。
下面的例子展示了一个自定义控件SimpleInnerContent,通过检查LiteralControl是否被添加到它的控件集合中,来决定是否将交付的文本增加到它的标签之间。如果是,它就取得LiteralControl的Text属性,然后将其添加到输出字符串。
重要提示:如果你的自定义控件从WebControl衍生而来,它将不会有上面例子中描述的解析逻辑,因为WebControl用ParseChildrenAttribute(ChildrenAsProperties = true)标记,它导致不同的解析逻辑。关于ParseChildrenAttribute的更多信息,请参阅.NET Framework SDK文档。
开发复合控件
你可以使用类的合成,通过组合现在有的控件来创作新的控件。复合控件类似于用户控件,也是使用ASP.NET语法来创建。用户控件和复合控件的主要区别是:用户控件是扩展名为.ascx的文本文件,而组合控件是编译过的,已汇编的方式使用。
开发组合控件的关键步骤是:
· c语言编程入门覆盖从Control继承的保护型方法CreateChildControls,建立子控件的实例,并将其添加到控件集合。
· 如果页面中的复合控件实例需要重复创建,需要引入System.Web.UI.INamingContainer接口。这是一个没有方法的标签接口。当他被控件引入的时候,ASP.NET将在这个控件下面建立一个新的名称空间。这就保证了子控件在控件的继承树中具有唯一的ID。
你不必覆盖Render方法,因为子控件提供了交付逻辑。你可以引申子控件合成的属性。
下面的例子定义了一个复合控件Composition1,它合并了System.Web.UI.LiteralControl和System.Web.UIWebControls.TextBox.Composition1,引申了一个整数类型的自定义属性Value,映射TextBox到的Text属性。

文章看完啦是不是意犹未尽,更多视频教程尽在课课家官方网站,让我们一起沉浸在知识的海洋。
 

    关键字:

天才代写-代写联系方式