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这些框架中都会发现有路由的身影,它们的原理都差不多,只不过在不同的环境下作了 ...
随机推荐
- 转: Android基于HLS和RTMP协议的第三方SDK选择
转自: http://isunxu.xyz/android/between-rtmp-and-hls-third-party-choice/ 协议的详解网上资料都太多了,我就不赘述了.Android上 ...
- Macbook之设置Finder显示文件完整路径
终端里输入:defaults write com.apple.finder _FXShowPosixPathInTitle -bool TRUE;killall Finder 回复输入:default ...
- VS2013 不能打开DTCMS项目 的解决办法
<system.webServer> <validation validateIntegratedModeConfiguration="false"/> & ...
- 20141016--for 菱形
Console.Write("请输入一个数:"); int n = int.Parse(Console.ReadLine()); ; i <= n; i++) { ; b & ...
- AMQ学习笔记 - 14. 实践方案:基于ZooKeeper + ActiveMQ + replicatedLevelDB的主从部署
概述 基于ZooKeeper + ActiveMQ + replicatedLevelDB,在Windows平台的主从部署方案. 主从部署可以提供数据备份.容错[1]的功能,但是不能提供负载均衡的功能 ...
- JDBC连接MySQL数据库及示例
JDBC是Sun公司制定的一个可以用Java语言连接数据库的技术. 一.JDBC基础知识 JDBC(Java Data Base Connectivity,java数据库连接)是一 ...
- Codevs 1014 装箱问题
题目描述 Description 有一个箱子容量为V(正整数,0<=V<=20000),同时有n个物品(0<n<=30),每个物品有一个体积(正整数). 要求n个物品中,任取若 ...
- 试写Python内建函数range()
还没查阅源码,先试着练手 class my_range(object): def __init__(self, *args): if not args: raise TypeError, 'range ...
- HTML5+CSS3+JQuery打造自定义视频播放器
来源:http://www.html5china.com/HTML5features/video/201109206_1994.html 简介HTML5的<video>标签已经被目前大多数 ...
- jquery 处理字符串 【转】
1,去掉空格 var txt=$.trim($("txt1").val()); 2,转为数字 txtNum=Number($.trim(txt)) + 1; var thi ...