ASP.NET运行库

服务器系统上需要ASP.NET运行库。如果系统上有IIS,就会在安装.NET Framework时为服务器配置ASP.NET运行库。开发过程中,不需要IIS,因为VS发布了自己的ASP.NET Web Development Server,可以用于测试和调试Web应用程序。

客户机向服务器请求一个文件,如default.aspx。对于文件的第一次请求会启动ASP.NET分析器,编译器会把该文件和一个与.aspx文件相关的C#文件一起编译,创建一个程序集。然后.NET运行库的JIT编译器把程序集编译为本机代码。该程序集包含一个Page类,调用它会把HTML代码返回给客户端。之后会删除Page对象。但是,会保留程序集,用于以后的请求,所以在第二个请求中,不需要再次编译程序集。

在启动应用程序之前,先进入项目属性,打开Web设置,验证Start Action设置为当前页面,在Servers组,验证配置了Visual Studio Development Server。

选择Debug|Start Without Debugging选项,启动Web应用程序。Ctrl+F5,此时会自动启动ASP.NET Development Server。如图所示,该对话框显示了Web服务器的物理路径和虚拟路径,以及Web服务器监听的端口,还可以用于停止Web服务器。

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Registration.aspx.cs" Inherits="EventRegistrationWeb.Registration" %> Page指令。

这个指令定义了要使用的编程语言和类。属性AutoEventWireup="true" 表示,页面的事件处理程序自动链接到特定方法名上。Inherits="EventRegistrationWeb.Registration" 表示在ASPX文件中动态生成的类派生于基类Registration。这个基类位于用于CodeFile属性定义的代码隐藏文件Registration.aspx.cs中。

客户只接收到简单的HTML代码,会删除标记中runat="server"特性。还有一些带有runat="server"特性的HTML元素,如<form>元素,通过此特性,ASP.NET服务器控件就会与HTML标记关联起来。这个控件可以用于写入服务器代码。在<form>元素的后面是Sytem.Web.UI.HtmlControls.HtmlForm类型的一个对象,该对象有一个用id特性定义的变量名,通过该变量名可以用于调用HtmlForm类的方法和属性。

从工具箱拖放到窗体设计器上的标准控件拥有以<asp:开头的元素例如<asp:Label / DropDownList> 它们是服务器端的ASP.NET Web控件,它们与System.Web.UI.WebControls名称控件中的.NET类相关。分别有Label和DropDownList类表示。

<asp:Label>不向客户发送该元素,因为他不是一个有效的HTML元素,它返回的是<span>标记。<asp: DropDownList>返回<select>元素,<asp:TextBox>返回<input type=" text" >元素。

ASP.NET在名称控件System.Web.UI.HtmlControls和System.Web.UI.WebControls中有UI控件类。这两个名称控件有一些类似的空间,也称为HTML服务器控件和Web服务器控件。

ASP.NET Web - 开篇的更多相关文章

  1. ASP.NET Web API 开篇示例介绍

    ASP.NET Web API 开篇示例介绍 ASP.NET Web API 对于我这个初学者来说ASP.NET Web API这个框架很陌生又熟悉着. 陌生的是ASP.NET Web API是一个全 ...

  2. 使用ASP.NET Web Api构建基于REST风格的服务实战系列教程【开篇】【持续更新中。。。】

    最近发现web api很火,园内也有各种大神已经在研究,本人在asp.net官网上看到一个系列教程,原文地址:http://bitoftech.net/2013/11/25/detailed-tuto ...

  3. ASP.NET没有魔法——开篇-用VS创建一个ASP.NET Web程序

    为什么写这一系列文章? 本系列文章基于ASP.NET MVC,在ASP.NET Core已经发布2.0版本,微服务漫天的今天为什么还写ASP.NET?. 答:虽然现在已经有ASP.NET Core并且 ...

  4. ASP.NET开发实战——(一)开篇-用VS创建一个ASP.NET Web程序

        本文是本系列文章第一篇,主要通过建立一个默认ASP.NET MVC项目来引出与ASP.NET MVC相关的功能,由于ASP.NET MVC一个简单的模板就具备了数据库操作.身份验证.输入数据校 ...

  5. ASP.NET Web API 控制器创建过程(一)

    ASP.NET Web API 控制器创建过程(一) 前言 在前面对管道.路由有了基础的了解过后,本篇将带大家一起学习一下在ASP.NET Web API中控制器的创建过程,这过程分为几个部分下面的内 ...

  6. ASP.NET Web API WebHost宿主环境中管道、路由

    ASP.NET Web API WebHost宿主环境中管道.路由 前言 上篇中说到ASP.NET Web API框架在SelfHost环境中管道.路由的一个形态,本篇就来说明一下在WebHost环境 ...

  7. ASP.NET Web API Selfhost宿主环境中管道、路由

    ASP.NET Web API Selfhost宿主环境中管道.路由 前言 前面的几个篇幅对Web API中的路由和管道进行了简单的介绍并没有详细的去说明一些什么,然而ASP.NET Web API这 ...

  8. ASP.NET Web API 管道模型

    ASP.NET Web API 管道模型 前言 ASP.NET Web API是一个独立的框架,也有着自己的一套消息处理管道,不管是在WebHost宿主环境还是在SelfHost宿主环境请求和响应都是 ...

  9. ASP.NET Web API 路由对象介绍

    ASP.NET Web API 路由对象介绍 前言 在ASP.NET.ASP.NET MVC和ASP.NET Web API这些框架中都会发现有路由的身影,它们的原理都差不多,只不过在不同的环境下作了 ...

随机推荐

  1. 5059 一起去打CS

    5059 一起去打CS  时间限制: 1 s  空间限制: 32000 KB  题目等级 : 钻石 Diamond 题解  查看运行结果     题目描述 Description 早就和lyk约好了去 ...

  2. hdu3336

    Count the string Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  3. javascript-函数的参数和return语句

    × 目录 [1]参数 [2]Arguments对象 [3]函数重载 [4]return 语句 ------------------------------------- 一.参数(最多25个) 可以动 ...

  4. ASP.NET缓存全解析5:文件缓存依赖 转自网络原文作者李天平

    这种策略让缓存依赖于一个指定的文件,通过改变文件的更新日期来清除缓存. ///<summary> /// 获取当前应用程序指定CacheKey的Cache对象值 ///</summa ...

  5. 【网络收集】order by 自定义排序

    使用order by排序,有时候不是根据字符或数字顺序,而是根据实际要求排序. 例如有客户A,B,C,我希望排序结果是B,C,A,那么就要通过自定义的规则排序. 第一种方法,可以构造一张映射表,将客户 ...

  6. Java之阶乘数的计算

    说起“阶乘数”,我们应该都不会感到陌生.当老师布置了这样的作业,我们大多数人是一贯用笔算,还有的同学会用计算机去计算.数学是讲究原理和方法的,我们知其然,也要知其所以然.下面我们就用编程来计算阶乘数. ...

  7. asp.net在网页上显示数据库中的数据

    第一步: 第二步: 第三步: 第四步:在网页代码中写显示格式代码,如下 <asp:SqlDataSource ID="SqlDataSource1" runat=" ...

  8. OC7_代理的基本概念

    // // Cat.h // OC7_代理的基本概念 // // Created by zhangxueming on 15/6/24. // Copyright (c) 2015年 zhangxue ...

  9. struts2的包和命名空间

    struts2提供了命名空间的功能,主要是为了处理同一个WEB应用中包含同名Action的情形.struts2以命名空间的方式来管理Action,同一个命名空间里不能有同名的Action,不同的命名空 ...

  10. LLVM language 参考手册(译)(5)

    垃圾回收器名称(Garbage Collector Names) 每一个函数可以制定一个垃圾回收期的名称,这个名称是一个简单的字符串: define void @f() gc "name&q ...