ASP.NET Web - 开篇
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 - 开篇的更多相关文章
- ASP.NET Web API 开篇示例介绍
ASP.NET Web API 开篇示例介绍 ASP.NET Web API 对于我这个初学者来说ASP.NET Web API这个框架很陌生又熟悉着. 陌生的是ASP.NET Web API是一个全 ...
- 使用ASP.NET Web Api构建基于REST风格的服务实战系列教程【开篇】【持续更新中。。。】
最近发现web api很火,园内也有各种大神已经在研究,本人在asp.net官网上看到一个系列教程,原文地址:http://bitoftech.net/2013/11/25/detailed-tuto ...
- ASP.NET没有魔法——开篇-用VS创建一个ASP.NET Web程序
为什么写这一系列文章? 本系列文章基于ASP.NET MVC,在ASP.NET Core已经发布2.0版本,微服务漫天的今天为什么还写ASP.NET?. 答:虽然现在已经有ASP.NET Core并且 ...
- ASP.NET开发实战——(一)开篇-用VS创建一个ASP.NET Web程序
本文是本系列文章第一篇,主要通过建立一个默认ASP.NET MVC项目来引出与ASP.NET MVC相关的功能,由于ASP.NET MVC一个简单的模板就具备了数据库操作.身份验证.输入数据校 ...
- ASP.NET Web API 控制器创建过程(一)
ASP.NET Web API 控制器创建过程(一) 前言 在前面对管道.路由有了基础的了解过后,本篇将带大家一起学习一下在ASP.NET Web API中控制器的创建过程,这过程分为几个部分下面的内 ...
- ASP.NET Web API WebHost宿主环境中管道、路由
ASP.NET Web API WebHost宿主环境中管道.路由 前言 上篇中说到ASP.NET Web API框架在SelfHost环境中管道.路由的一个形态,本篇就来说明一下在WebHost环境 ...
- ASP.NET Web API Selfhost宿主环境中管道、路由
ASP.NET Web API Selfhost宿主环境中管道.路由 前言 前面的几个篇幅对Web API中的路由和管道进行了简单的介绍并没有详细的去说明一些什么,然而ASP.NET Web API这 ...
- ASP.NET Web API 管道模型
ASP.NET Web API 管道模型 前言 ASP.NET Web API是一个独立的框架,也有着自己的一套消息处理管道,不管是在WebHost宿主环境还是在SelfHost宿主环境请求和响应都是 ...
- ASP.NET Web API 路由对象介绍
ASP.NET Web API 路由对象介绍 前言 在ASP.NET.ASP.NET MVC和ASP.NET Web API这些框架中都会发现有路由的身影,它们的原理都差不多,只不过在不同的环境下作了 ...
随机推荐
- freeCodeCamp:Convert HTML Entities
将字符串中的字符 &.<.>." (双引号), 以及 '(单引号)转换为它们对应的 HTML 实体. 现在这个表里找出要转化的符号https://dev.w3.org/h ...
- CSS选择器笔记
一.元素选择符 序号 选择器 含义 1. * 通用元素选择器,匹配任何元素 2. E 标签选择器,匹配所有使用E标签的元素 3. .info class选择器,匹配所有class属性中包含info的元 ...
- 获取动态SQL的返回结果
1. 介绍说明 有时候在执行存储过程后,需要获取存储过程返回的列表,然后进行相应操作的情况,或者执行动态语句,获取返回结果的情况,通过EXEC ,sp_executesql可以实现该功能. 网上也有很 ...
- 放弃SCOPE_Identity,使用OUTPUT代替
最近项目中使用了SCOPE_IDENTITY()来获取新增数据的自动递增ID号. 在运行过程中会不时的发生无法通过SCOPE_IDENTITY()来获取ID号的情况. 尝试着测试又发现不了问题. 今天 ...
- 【ASP.NET】获取网站目录的方法
获取网站物理路径: HttpRuntime.AppDomainAppPath 获取网站虚拟路径: HttpRuntime.AppDomainAppVirtualPath
- Stack Overflow 2016最新架构探秘
这篇文章主要揭秘 Stack Overflow 截止到 2016 年的技术架构. 首先给出一个直观的数据,让大家有个初步的印象. 相比于 2013 年 11 月,Stack Overflow 在 20 ...
- [javascript|基本概念|一元操作符]学习笔记
只操作一个值的操作符 递增/递减操作符 前置型/后置型 前置型:操作符位于操作数前面 e.g.: var a = 30; ++a; 等同于 var a = 30; a = a + 1; --> ...
- 最新13个加速 Web 开发的框架和工具
我们为开发人员挑选了15个最新的Web开发框架,你肯定尝试一下这些新鲜的框架,有的可能略微复杂,有的提供了很多的配置选项,也有一些窗口小部件和界面交互的选择.他们将帮助你创建更优秀的网站,提供给用户更 ...
- 分享web前端七款HTML5 Loading动画特效集锦
以前我们大部分的Loading动画都是利用gif图片实现的,这种图片实现Loading动画的方法虽然也很不错,但是作为HTML5开发者来说,如果能利用HTML5和CSS3实现这些超酷的Loading动 ...
- struts2的包和命名空间
struts2提供了命名空间的功能,主要是为了处理同一个WEB应用中包含同名Action的情形.struts2以命名空间的方式来管理Action,同一个命名空间里不能有同名的Action,不同的命名空 ...