控件开发

时间:2024-08-08 23:53:28编辑:花茶君

什么是ASP.NET中的控件

ASP.NET Web 服务器控件是 ASP.NET 网页上的对象,当请求网页时,这些对象将运行并向浏览器呈现标记。 许多 Web 服务器控件与常见的 HTML 元素(如按钮和文本框)类似。 其他控件具有复杂行为,如日历控件和管理数据连接的控件。 一般分为三大类:1. ASP.NET 用户控件 除在 ASP.NET 网页中使用 Web 服务器控件外,您还可以使用用于创建 ASP.NET 网页的相同技术创建可重复使用的自定义控件。 这些控件称作用户控件。 用户控件是一种复合控件,工作原理非常类似于 ASP.NET 网页 - 您可以向用户控件添加现有的 Web 服务器控件和标记,并定义控件的属性和方法。 然后可以将控件嵌入 ASP.NET 网页中充当一个单元。2. ASP.NET Web 服务器控件 ASP.NET Web 服务器控件是 ASP.NET 网页上的对象,这些对象在请求网页时运行并向浏览器呈现标记。 许多 Web 服务器控件类似于常见的 HTML 元素(如按钮和文本框)。 其他控件具有复杂行为,如日历控件以及可用于连接数据源并显示数据的控件。 ASP.NET 还提供支持 AJAX 的服务器控件。 这些控件由服务器和客户端代码组成,这些代码集成在一起可生成丰富的客户端行为。 当您将 AJAX 控件添加到 ASP.NET 网页上时,该页会自动将支持的客户端脚本发送到浏览器以获取 AJAX 功能。 您也可以提供其他的客户端代码来自定义控件的功能,但这不是必需的。 3. ASP.NET Web 部件控件 ASP.NET Web 部件控件是一组集成控件,用于创建这样的网站:最终用户可以在浏览器中直接修改网页的内容、外观和行为。 本节中的主题提供有关 Web 部件的定义、工作原理以及如何使用 Web 部件创建用户可自定义的 ASP.NET 网页的信息。


asp.net的控件

asp net的控件分为内置和外置两种。asp net的内置控件分为两种:HTML 控件 (HTML control)和用户控件 (User control)。外置控件,在使用前,需要将其添加到Visual Studio .NET环境中。然后就可以通过启动一个新项目来使用新的控件。 虽然有的时候,控件在开发机器上运行正常,但当程序被部署到终端用户机器上时,会出现问题。因为很多终端机器不允许安装外置控件,对于上述问题有简单实用的解决办法-“在服务器上部署 “fp_client” 文件夹”。fp_client 文件夹包含所有ASPNET外置控件需要的脚本文件。 拿Spread控件为例,Web 页面上的 Spread 控件实例从服务器上的 fp_client 文件夹中读取前台格式化、样式和脚本功能。  fp_client 文件夹的默认安装路径是:C:\Program Files\GrapeCity\Spread.ASP.5.dotNet20\v5.0.2015\fp_client\fpspread\5_0_2015_2008\HTC我们需要在 web.config 文件中添加以下代码 fp_client 文件夹进行正确的加载: 下面是两个有助于我们更加深入的去解决该问题问题的相关点:  1.上面的标签仅在你想要从程序根目录下载“fp_client”文件夹是需要 ,在这种情况下,你需要复制 fp_client 文件夹并且把它粘帖到程序的根目录下,或者创建一个映射到 fp_client 文件夹的虚拟路径。  2.在服务器上有很多网址运行 Spread for ASPNET,我们仅需要把 fp_client 文件夹 复制到服务器的根目录上即可(而不是程序的根目录)。在这种情形下, 上述 web.config 标签是不需要添加的,程序仍然可以完美运行。 1、ClientIDMode渲染ASP NET控件时会自动生成一个ID,当在客户端脚本中引用它们时,却会制造不少麻烦,虽然它是命名容器和ID的简单串联,但仍然无法预测生成的ID范围.ASP NET 4.0使用ClientIDMode属性解决了这个问题,它允许控制生成这些ID的方法,ClientIDMode有四个可选择的值:AutoID,Static,Predictable和Inherit.下面是这四个值的含义解释:AutoID – 和4.0以前的版本保持一致,自动生成ID.Static – 指定ID的值,在渲染控件时不会发生变化.Predictable – 指定后缀,然后和容器控件的ID属性进行合并.Inherit – 继承父控件的设置.注意,Page的默认ClientIDMode属性的值是AutoID,可以通过@ Page指令设置页面级的值,还可以通过修改Web配置文件设置应用程序级的值.[pre] [/pre]2、Meta关键字和Meta描述在ASP NET 4.0中Page类增加了两个新的属性:Meta Keywords和Meta Description,可以在运行时设置这两个属性,通过数据库或其它源驱动,并允许动态设置标签,描述特定的页面,下面的Page标签显示了这两个属性. [pre]C#AutoEventWireup=trueKeywords=keyword1,keyword2Description=mydescription%>C#AutoEventWireup=trueKeywords=keyword1,keyword2Description=mydescription%>[/pre]3、数据绑定控件中的行持久性选择ASP NET数据绑定控件,如Grid View,都支持行选择,但它们应该选择每个页面上相同编号的行,但ASP NET 4.0以前的版本中,行持久性选择是不能实现的,因为以前的版本选择后续页面上的行时是基于行索引的,ASP NET 4.0提供了一个直观的方法解决了这一问题.数据绑定控件现在提供了一个EnablePersistedSection属性,它可以帮助实现行持久性选择。4、AutoEventWireupAutoEventWireup是很少使用但知名度很高的一个ASP NET属性,简单地说,它设置为True时,在未明确委派的情况下,允许自动调用页面事件。它的默认值是True,AutoEventWireup属性的缺点在MSDN上有详细描述:它限制了命名事件处理程序的灵活性,另一个缺点是对性能的不利影响,对于高流量的网站,性能影响是巨大的.5、Page的Header属性Page类现在提供了Header属性,可以在运行时绑定它,下面的代码示例显示了如何明确设置Title属性.this.Header.Title = My page title;当根据某个规则动态关联一个样式表时,这个属性非常方便,在这种情况下,打印页面是理想的候选. [pre]HtmlLinkprintLink=newHtmlLink();printLink.Attributes.Add(type,text/css);printLink.Attributes.Add(rel,stylesheet);printLink.Attributes.Add(href,css/print.css);this.Header.Controls.Add(printLink);[/pre]6、AssociatedControlID属性可以在一个Web表单中将一个控件关联到另一个服务器控件,这时需要使用服务器控件的AssociatedControlID属性,当根据某些行为为关联的控件设置热键时,这个属性就可以派上用场了.AssociatedControlID属性的默认值是一个空字符串,它表示控件未与任何服务器控件关联,下面的代码显示了一个Textbox控件是如何与Label服务器控件关联的.7、ControlState属性ASP NET最重要的状态管理技术是ViewState,它允许你在往返Web服务器的路上保留值,但由于可在父级关闭,它并不是保存信息可靠的方法.ASP NET 2.0为服务器控件引入了私有的ViewState,叫做ControlState,它可用来存储控件的关键信息,ASP NET可以处理它的序列化和反序列化.注意,使用时必须谨慎,因为它会影响页面的性能.8、Control.PreserveProperty针对传统的视图状态用法,Rick Strahl为我们提供了另一个选择:PreservedProperties,它可以保存控件ID和属性名称,详细信息请参考Implementing an ASP NET PreserveProperty Control(实现ASP NET PreserveProperty控件).9、PreviousPageType指令PreviousPageType指令是ASP NET 2.0跨页面回送机制的一部分,允许指定来源页面的虚拟路径,以便强类型访问来源页面.正常情况下,发送的数据可通过PreviousPage属性和FindControl方法访问,但使用强类型的PreviousPageType指令允许你访问公共属性,而不需要调用FindControl方法.

上一篇:李宗盛凡人歌

下一篇:乐观英文