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这些框架中都会发现有路由的身影,它们的原理都差不多,只不过在不同的环境下作了 ...
随机推荐
- DOM 1
首先getAttribute setAttribute只能被元素节点对象调用.(属性节点和文本节点调用不了) 我们可以通过一下三种方式得到元素: document.getElementById(); ...
- freeCodeCamp:Sorted Union
写一个 function,传入两个或两个以上的数组,返回一个以给定的原始数组排序的不包含重复值的新数组. 换句话说,所有数组中的所有值都应该以原始顺序被包含在内,但是在最终的数组中不包含重复值. 非重 ...
- 二维码zxing源码分析(二)decode部分
在上一篇博客中分析了zxing怎么打开摄像头,并且扫描结果,那么扫描之后的数据呢,是不是就要解析了呢,那我们看一下zxing怎么解析这个数据的. 上一篇博客地址ZXING源码 ...
- IOS添加控件
YJQApp *appInfo =self.apps[i]; //.添加图片 UIImageView * iconView = [[UIImageView alloc]init]; CGFloat i ...
- 谷歌浏览器Chrome不再支持showModalDialog的解决办法
问题重现 弹出窗口编码: JavaScript 0 1 2 3 4 5 6 7 var obj = new Object(); var retval = window.showModalDia ...
- SQL Server 安装程序失败 不能在控件上调用 Invoke 或 BeginInvoke
出现这种问题的原因是权限问题,怎么处理呢,使用管理员运行 如果这种方法不行,比如我的就不可以,点击右键 对各个权限对象重新添加完全控制权限. 我的电脑的情况是安装sql2010,然后安装sql管理工具 ...
- AMQ学习笔记 - 10. Spring-JmsTemplate之浏览
概述 浏览只是针对Queue的概念,Topic没有浏览.浏览是指获取消息而消息依然保持在broker中,而消息的接收会把消息从broker中移除. 浏览可以用来实现对Queue中消息的监控. JMS ...
- hdu 1284 钱币兑换问题 完全背包
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1284 递推公式:dp[i] = sum(dp[i], dp[i-C]) /* 钱币兑换问题 Time ...
- HDU1042 N! 大数的阶乘
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1042 由于数字特别大, 所以用数组来模拟. 经测试, 数组大小开50000 可过. 附AC代码, 欢迎 ...
- Sublime Text 2入门指南
Sublime Text 2入门指南 一天在iteye上看到范凯介绍一个开发工具(TextMate ),看下面的评论时看到Sublime Text 2.其实我一直喜欢editplus.百度了一番才 ...