广告位 后台主题配置管理 |
广告位 后台主题配置管理 |
今天给各位分享asp.net服务器端控件的知识,其中也会对列举一些基本的ASPNET控件类型进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
aspnet提供两种类型的服务器控件:html服务器控件和web服务器控件。
html服务器控件就是在其代码中加入runat=“server”。
web服务器控件就是通常使用的
评论
加载更多
客户端控件就是标准的HTML标签
服务器控件是加上runat=server之后的标签,可以在服务器端访问到。
1)、Asp.net服务器控件提供更加统一的编程接口,如每个Asp.net服务器控件都有Text属性。
2)、隐藏客户端的不同,这样程序员可以把更多的精力放在业务上,而不用去考虑客户端的浏览器是ie还是firefox,或者是移动设备。
3)、Asp.net服务器控件可以保存状态到ViewState里,这样页面在从客户端回传到服务器端或者从服务器端下载到客户端的过程中都可以保存。
4)、事件处理模型不同,Html标注和Html服务器控件的事件处理都是在客户端的页面上,而Asp.net服务器控件则是在服务器上,举例来说:
input id="Button4" type="button" value="button" runat="server"/
是Html服务器控件,此时我们点击此按钮,页面不会回传到服务器端,原因是我们没有为其定义鼠标点击事件。
input id="Button4" type="button" value="button" runat="server" onserverclick="test" /
我们为Html服务器控件添加了一个onserverclick事件,点击此按钮页面会发回服务器端,并执行test(object sender, EventArgs e)方法。
asp:Button ID="Button2" runat="server" Text="Button" /
是Asp.net服务器控件,并且我们没有为其定义click,但是我们点击时,页面也会发回到服务器端。
由此可见:Html标注和Html服务器控件的事件是由页面来触发的,而Asp.net服务器控件则是由页面把Form发回到服务器端,由服务器来处理。
(1)初始化:在此阶段中,主要完成两项工作:一、初始化在传入Web请求生命周期内所需的设置;二、跟踪视图状态。首先,页面框架通过默认方式引发Init事件,并调用OnInit()方法,控件开发人员可以重写该方法为控件提供初始化逻辑。此后,页面框架将调用TrackViewState方法来跟踪视图状态。需要注意的是:多数情况下,Control基类提供的TrackViewState方法实现已经足够了。只有在控件定义了复杂属性时,开发人员才可能需要重写TrackViewState方法。
(2)加载视图状态:此阶段的主要任务是检查ASP.NET服务器控件是否存在以及是否需要将其状态恢复到它在处理之前的请求结束的状态。因此该过程发生在页面回传过程中,而不是初始化请求过程。在此阶段,页面框架将自动恢复ViewState字典。如果服务器控件不维持其状态,或者它有能力通过默认方式保存其所有状态而使用ViewState字典,那么开发人员则不必实现任何逻辑。针对那些无法在 ViewState字典中存储的数据类型或者需要自定义状态管理的情况,开发人员可以通过重写LoadViewState方法来自定义状态的恢复和管理。
(3)处理回发数据:若要使控件能够检查客户端发回的窗体数据,那么必须实现System.Web.UI.IPostBackDataHandler接口的 LoadPostData()方法。因此只有处理回发数据的控件参与此阶段。
(4)加载:至此阶段开始,控件树中的ASP.NET服务器控件已创建并初始化、状态已还原并且窗体控件反映了客户端的数据。此时,开发人员可以通过重写OnLoad()方法来实现每个请求共同的逻辑。
(5)发送回发更改通知:在此阶段,ASP.NET服务器控件通过引发事件作为一种信号,表明由于回发而发生的控件状态变化(因此该阶段仅用于回发过程)。为了建立这种信号,开发人员必须再次使用System.Web.UI.IPostBackDataHandler接口,并实现另一方法- RaisePostBackChangedEvent()。其判断过程为:如果控件状态因回发而更改,则LoadPostData()返回true;否则返回false。页面框架跟踪所有返回true的控件并在这些控件上调用RaisePostDataChangedEvent()。
(6)处理回发事件:该阶段处理引起回发的客户端事件。为了便于将客户端事件映射到服务器端事件上进行处理,开发人员在此阶段可以通过实现 System.Web.UI.IPostBackEventHandler接口的RaisePostBackEvent()方法来实现该逻辑。由此途径,服务器控件将成功捕获回发的客户端事件进行服务器端的相应处理。
(7)预呈现:该阶段完成在生成控件之前所需要的任何工作。通常情况下是通过重写OnPreRender()方法完成该工作。需要注意的是:在该阶段,可以保存在预呈现阶段对控件状态所做的更改,而在呈现阶段进行的更改则会丢失。
(8)保存状态:如果ASP.NET服务器控件不维持状态,或者它有能力通过默认方式保存其所有状态而使用ViewState字典,那么开发人员不必在该阶段实现任何逻辑。因为这个保存状态的过程是自动的。如果ASP.NET服务器控件需要自定义状态保存,或者控件无法在ViewState字典中存储特殊的数据类型,则需要通过重写SaveViewState()方法来实现状态保存。
(9)呈现:表示向HTTP输出流中写入标记文本的过程。开发人员通过重写Render()方法使其在输出流上自定义标记文本。
(10)处置:在此阶段中,通过重写Dispose ()方法完成释放对昂贵资源的引用,如数据库链接等。
(11)卸载:完成的工作与"处置"阶段相同,但是,开发人员通常在Dispose()方法中执行清除,而不处理Unload事件。
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服务器端控件的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于列举一些基本的ASPNET控件类型、asp.net服务器端控件的信息别忘了在本站进行查找喔。
广告位 后台主题配置管理 |
广告位 后台主题配置管理 |