对 ASP.NET 控件的一点理解(整理)
Web 服务器控件和 Html 服务器控件
一般地,在用 ASP.NET 开发 Web 应用程序时,时时刻刻都与控件打交道,可以说是无处不在,其实 Web 窗体页(.aspx 页)也是控件。
ASP.NET 控件分为 Web 服务器控件(简称 Web 控件)和 Html 服务器控件(简称 Html 控件),都是运行在服务器端。两者有什么区别呢?
我们平时用的 HTML 标记,如 <a>、<input> 等,是无法用程序来控制它们的,需用其它如
JavaScript 等程序语言才能得以控制。在 ASP.NET 程序里,我们可以在 HTML 标记加上
runat="server",就可以将相应的 HTML 标记变成 HTML 服务器控件,从而可以以编程的方式来控制这些 HTML 标记。引用(http://www.dvbbs.net/tech/net/2006051268338.asp
):
至于 Html 标注和 Html 控件之间的区别很明显,Html
控件是运行于服务器端,Html 标注是运行于客户端。具体来说:当 ASP.NET 网页执行时,会检查标注有无 runat
属性,如果标注没有设定,那么 Html 标注就会被视为字符串,并被送到字符串流等待送到客户端,客户端的浏览器会对其进行解释;如果 Html
标注有设定 runat="server" 属性,Page 对象会将该控件放入控制器,服务器端的代码就能对其进行控制,等到控制执行完毕后再将
Html 控件的执行结果转换成 Html 标注,然后当成字符串流发送到客户端进行解释。
对于 Web 服务器控件,是 Web 窗体页中用来定义 Web 应用程序用户界面的组件,是 Web Forms 编程模型的基本元素,尽管 Web 服务器控件呈现为 HTML,但它们的对象模型不一定反映 HTML 语法。
1、Asp.net 服务器控件提供更加统一的编程接口,如每个 Asp.net 服务器控件都有 Text 属性。
2、隐藏客户端的不同,这样程序员可以把更多的精力放在业务上,而不用去考虑客户端的浏览器是 ie 还是 firefox,或者是移动设备。
3、Asp.net 服务器控件可以保存状态到 ViewState 里,这样页面在从客户端回传到服务器端或者从服务器端下载到客户端的过程中都可以保存。
4、事件处理模型不同,Html 标注和 Html 控件的事件处理都是在客户端的页面上,而 Asp.net 服务器控件则是在服务器上。
创建自定义服务器控件
一、简述:
创建用户控件或服务器控件一般是继承于 System.Web.UI.Control 类或
System.Web.UI.WebControls.WebControl 类。如 Web 用户控件(.ascx 页)继承于
System.Web.UI.UserControl 类,后者继承
相关文档:
一,如果直接把asp.net mvc2 RC 部署在iis5.1上,会出现无法显示页面的情况,原因可能是路径映射没有起作用。
解决办法:
1.在 routes.MapRoute(
"Default", ......
using System.Web;
/// <summary>
/// Javascript常用方法
/// </summary>
public class JS
{
private static string ScriptStart = "<script type=\"text/javascript\">";
private static string ScriptEnd = "</script>";
&n ......
asp.net中application,session,cookie,viewstate,cache对象
在asp.net中内置对象如application,session,cookie,viewstate,cache等的生存周期和应用范围从大到小为application,cache,session,cookie,viewstate.
application和cache的应用范围都是在整个应用程序中.而session,cookie,viewstate则是基于每个用户,application ......