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这些框架中都会发现有路由的身影,它们的原理都差不多,只不过在不同的环境下作了 ...
随机推荐
- ios深拷贝,浅拷贝,拷贝自定义对象的简单介绍(转)
copy语法的目的:改变副本的时候,不会影响到源对象: 深拷贝:内容拷贝,会产生新的对象.新对象计数器置为1,源对象计数器不变. 浅拷贝:指针拷贝,不会产生新的对象.源对象计数器+1. 拷贝有下面两个 ...
- UISearchDisplayController隐藏navigationBar需注意
不能调用self.navigationController.navigationBar.hidden = YES: 调用此代码的话,你隐藏了navigationBar搜索展示控制器就拿不到导航条:就会 ...
- Evaluation
precision是tp/(tp+fp),检索结果中正确的比例 recall是tp/(tp+fn),所有需要被检索出来的比例 1.真实情况:恶性,检查结果:恶性,这种情况就叫做:true positv ...
- MVC中的Routing
Routing ASP.NET Routing模块的责任是将传入的浏览器请求映射为特有的MVC controller actions. public static void RegisterRoute ...
- 第三回 Bootstrap3.x 起步
基本模版 <!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="u ...
- C#通用类型转换 Convert.ChangeType 转自网络
static public object ChangeType(object value, Type type) { if (value == null && type.IsGener ...
- Android 手势滑动,多点触摸放大缩小图片
效果展示: 基本思路: <1>首先写一个图片控制类ImageControl,实现对图片控制的的基本操作,我们的图片控制类ImageControl是继承自ImageView自定义的视图: & ...
- 解决PHP中file_get_contents抓取网页中文乱码问题
根据网上有朋友介绍说原因可能是服务器开了GZIP压缩. 下面是用firebug查看我的博客的头信息,Gzip是开了的. 请求头信息原始头信息 代码如下 复制代码 Accept text/html,ap ...
- php数组编码转换函数的示例
场景说明/问题描述: Ajax提交页面编码为gb2312,数据库编码为utf8,在不更改页面及数据库编码的情况下插入数据. 自定义函数: 代码如下 复制代码 function array_iconv ...
- C语言知识总结(1)
C语言中的数据类型 存在疑问,具体参考下面评论 变量的存储 变量实例 ; ; 内存由大到小寻址,优先分配内存地址较大的字节给变量.b的内存地址比a大 每个变量都有地址:第一个字节的地址就是变量的地址 ...