ASP.NET全部教程

ASP.NET的优势

1.代码后置功能:将web页面与逻辑代码分开,

前台代码保存在.aspx页面中,后台代码保存到.aspx.cs文件中

2.编译后再执行:编译是将代码翻译为机器语言

在ASP.NET中首先编译成微软的中间语言,再由编译器进一步编译成机器语言,编译完成后的代码再次运行不需要重新编译了,直接使用,大大的提高了程序的性能

3.方便断点调试,由于web服务器不受IDE限制,微软的IIS就有了先天的优势

IIS它是微软公司提供基础运行microsoft windows的互联网基本服务,开发的一种Web服务器软件,可以在Windows Server系统上运行。IIS提供了一种在网络上发布和管理Web应用程序的方式

ASP.NET 文件扩展名
  • 经典 ASP 文件的文件扩展名为 .asp

  • ASP.NET 文件的文件扩展名为 .aspx

  • Razor C# 语法的 ASP.NET 文件的文件扩展名为 .cshtml

  • Razor VB 语法的 ASP.NET 文件的文件扩展名为 .vbhtml

什么是 Razor ?
  • Razor 是一种将基于服务器的代码添加到网页中的标记语法

  • Razor 具有传统 ASP.NET 标记的功能,但更容易使用并且更容易学习

  • Razor 是一种服务器端标记语法,与 ASP 和 PHP 很像

  • Razor 支持 C# 和 Visual Basic 编程语言

主要的 Razor C# 语法规则
  • Razor 代码块包含在 @{ ... } 中

  • 内联表达式(变量和函数)以 @ 开头

  • 代码语句用分号结束

  • 变量使用 var 关键字声明

  • 字符串用引号括起来

  • C# 代码区分大小写

  • C# 文件的扩展名是 .cshtml

<!-- Single statement block -->@{ var myMessage =   "Hello World"; }
<!-- Inline expression or variable -->
<p>The value of myMessage is: @myMessage</p> 
<!--    Multi-statement block -->@{
var greeting = "Welcome to our site!";
var weekDay = DateTime.Now.DayOfWeek;
var greetingMessage = greeting + " Today is: " + weekDay;
}<p>The greeting is: @greetingMessage</p>
Layout Page(布局页)

布局页中使用 @RenderBody() 方法嵌入内容页,除此之外,它与一个正常的网页没有什么差别

防止文件被浏览

在 ASP.NET 中,文件的名称以下划线开头,可以防止这些文件在网上被浏览。

如果您不想让您的内容块或者布局页被您的用户看到,可以重命名这些文件:

_header.cshtm

_footer.cshtml

_Layout.cshtml

隐藏敏感信息

在 ASP.NET 中,隐藏敏感信息(数据库密码、电子邮件密码等等)最通用的方法是将这些信息保存在一个名为"_AppStart"的单独的文件中。

_AppStart.cshtml

@{WebMail.SmtpServer = "mailserver.example.com";
WebMail.EnableSsl = true;WebMail.UserName = "username@example.com";
WebMail.Password = "your-password";WebMail.From = "your-name-here@example.com";
}
URL 和路径

网站/,文件\

URL 是用来访问网站中的文件: http://www.runoob.com/html/html-tutorial.html

URL 对应于服务器上的物理文件:C:\MyWebSites\runoob\html\html-tutorial.html

虚拟路径是物理路径的一种简写表示。如果您使用虚拟路径,当您更改域名或者将您的网页移到其他服务器上时,您可以不用更新路径。

URL
服务器名称RUNOOB
虚拟路径/html/html-tutorial.html
物理路径C:\MyWebSites\runoob\html\html-tutorial.html

磁盘驱动器的根目录如下书写 C: ,但是网站的根目录是 / (斜线)。

Web 文件夹的虚拟路径通常是与物理文件夹不相同。

在您的代码中,根据您的编码需要决定使用物理路径和和虚拟路径。

ASP.NET 文件夹路径有 3 种工具:~ 运算符、Server.MapPath 方法 和 Href 方法。

~ 运算符

使用 ~ 运算符,在编程代码中规定虚拟路径。

如果您使用 ~ 运算符,在您的站点迁移到其他不同的文件夹或者位置时,您可以不用更改您的任何代码:

var myImagesFolder = "~/images"; var myStyleSheet = "~/styles/StyleSheet.css";

Server.MapPath 方法

Server.MapPath 方法将虚拟路径(/index.html)转换成服务器能理解的物理路径(C:\Documents\MyWebSites\Demo\default.html)。

当您需要打开服务器上的数据文件时,您可以使用这个方法(只有提供完整的物理路径才能访问数据文件):

var pathName = "~/dataFile.txt"; var fileName = Server.MapPath(pathName);

Href 方法

Href 方法将代码中的使用的路径转换成浏览器可以理解的路径(浏览器无法理解 ~ 运算符)。

您可以使用 Href 方法创建资源(比如图像文件 和 CSS 文件)的路径。

一般会在 HTML 中的 <a>、<img> 和 <link> 元素中使用此方法:

ASP.NET Web Pages - 全局页面

在 Web 启动之前:_AppStart

大多数的服务器端代码是写在个人网页里边。例如,如果网页中包含输入表单,那么这个网页通常包含用来读取表单数据的服务器端代码。

然而,您可以通过在您的站点根目录下创建一个名为 _AppStart 的页面,这样在站点启动之前可以先启动代码执行。如果存在此页面,ASP.NET 会在站点中其它页面被请求时,优先运行这个页面。

_AppStart 的典型用途是启动代码和初始化全局数值(比如计数器和全局名称)。

注释 1:AppStart 的文件扩展名与您的网页一致,比如:AppStart.cshtml。

注释 2:_AppStart 有下划线前缀。因此,这些文件不可以直接浏览。


在每一个页面之前:_PageStart

就像 _AppStart 在您的站点启动之前就运行一样,您可以编写在每个文件夹中的任何页面之前运行的代码。

对于您网站中的每个文件夹,您可以添加一个名为 _PageStart 的文件。

_PageStart 的典型用途是为一个文件夹中的所有页面设置布局页面,或者在运行某个页面之前检查用户是否已经登录。

它是如何工作的?

下图显示了它是如何工作的:

当接收到一个请求时,ASP.NET 会首先检查 _AppStart 是否存在。 如果 _AppStart 存在且这是站点接收到的第一个请求,则运行 _AppStart。

然后 ASP.NET 检查 _PageStart 是否存在。如果 _PageStart 存在,则在其它被请求的页面运行之前先运行 _PageStart。

您可以在 _PageStart 中调用 RunPage() 来指定被请求页面的运行位置。否则,默认情况下,被请求页面是在 _PageStart 运行之后才被运行。

MVC 框架的映射方式有所不同。MVC 将 URL 映射到方法。这些方法在类中被称为"控制器"。

控制器负责处理进入的请求,处理输入,保存数据,并把响应发送回客户端。

Winform和WPF最大的区别

布局方式

首先谈下布局方式,一般来说,界面布局的方式有两种,一种是拖控件,另一种是通过布局控件来实现,

Winform主要是以拖控件的方式为主,配合布局控件做整体布局,

而WPF则恰恰相反,虽然也可以拖控件,但是很少这么做(没winfrom拖的那么爽也是一个原因吧),主要是通过编写XAML代码来实现。

驱动方式

再来说下驱动方式,Winform是基于事件驱动,WPF是基于数据驱动,以操作一个按钮,执行一个查询操作为例Winform是在按钮的点击事件里,写好查询代码,然后将结果展示在数据控件里,

而WPF则是通过按钮绑定一个动作方法,在方法里查询得到数据(Items),数据控件则绑定好数据源

(如 ItemsSource="{Binding Items}"),方法只要查到了数据,控件数据就能显示了,这样做的目的就是尽量减少前后端的耦合。

属性差异

最后说一个最近发现的,控件的属性差异都是存在的,

比如,winfrom的textbox有属性:

AutoCompleteSource 获取或设置一个值,该值指定用于自动完成的完整字符串的源。

AutoCompleteMode 获取或设置控制自动完成如何作用于TextBox的选项

而WPF却没有,其他控件可能也有这情况

HTTP协议

超文本传输协议,是网络模型的应用层(和用户打交道)

长连接:每次请求,响应完成后都会断开,影响效率,长连接会保持一段时间再关闭

TCP协议

在通讯中选会按http协议组织一次,再按照TCP协议传输(网络,网线传输),再转换为http协议

get和post请求区别

http协议内容分为,请求头,请求体,请求头分为:请求行,实体头,头部结束标签

get只有请求头

post有请求头,请求体

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ASP.NET ASP.NET 概述 ASP.NET 是一个统一的 Web 开发模型,它包括您使用尽可能少的代码生成企业级 Web 应用程序所必需的各种服务。ASP.NET 作为 .NET Framework 的一部分提供。当您编写 ASP.NET 应用程序的代码时,可以访问 .NET Framework 中的类。您可以使用与公共语言运行库 (CLR) 兼容的任何语言来编写应用程序的代码,这些语言包括 Microsoft Visual Basic、C#、JScript .NET 和 J#。使用这些语言,可以开发利用公共语言运行库、类型安全、继承等方面的优点的 ASP.NET 应用程序。 ASP.NET 包括: 页和控件框架 ASP.NET 编译器 安全基础结构 状态管理功能 应用程序配置 运行状况监视和性能功能 调试支持 XML Web services 框架 可扩展的宿主环境和应用程序生命周期管理 可扩展的设计器环境 页和控件框架 ASP.NET 页和控件框架是一种编程框架,它在 Web 服务器上运行,可以动态地生成和呈现 ASP.NET 网页。可以从任何浏览器或客户端设备请求 ASP.NET 网页,ASP.NET 会向请求浏览器呈现标记(例如 HTML)。通常,您可以对多个浏览器使用相同的页,因为 ASP.NET 会为发出请求的浏览器呈现适当的标记。但是,您可以针对诸如 Microsoft Internet Explorer 6 的特定浏览器设计 ASP.NET 网页,并利用该浏览器的功能。ASP.NET 支持基于 Web 的设备(如移动电话、手持型计算机和个人数字助理 (PDA))的移动控件。 ASP.NET 网页是完全面向对象的。在 ASP.NET 网页中,可以使用属性、方法和事件来处理 HTML 元素。ASP.NET 页框架为响应在服务器上运行的代码中的客户端事件提供统一的模型,从而使您不必考虑基于 Web 的应用程序中固有的客户端和服务器隔离的实现细节。该框架还会在页处理生命周期中自动维护页及该页上控件的状态。有关更多信息,请参见 ASP.NET 网页概述。 使用 ASP.NET 页和控件框架还可以将常用的 UI 功能封装成易于使用且可重用的控件。控件只需编写一次,即可用于许多页并集成到 ASP.NET 网页中。这些控件在呈现期间放入 ASP.NET 网页中。 ASP.NET 页和控件框架还提供各种功能,以便可以通过主题和外观来控制网站的整体外观和感觉。可以先定义主题和外观,然后在页面级或控件级应用这些主题和外观。有关更多信息,请参见 ASP.NET 主题和外观概述。 除了主题外,还可以定义母版页,以使应用程序中的页具有一致的布局。一个母版页可以定义您希望应用程序中的所有页(或一组页)所具有的布局和标准行为。然后可以创建包含要显示的页特定内容的各个内容页。当用户请求内容页时,这些内容页与母版页合并,产生将母版页的布局与内容页中的内容组合在一起的输出。有关更多信息,请参见 ASP.NET 母版页概述。 ASP.NET 编译器 所有 ASP.NET 代码都经过了编译,可提供强类型、性能优化和早期绑定以及其他优点。代码一经编译,公共语言运行库会进一步将 ASP.NET 编译为本机代码,从而提供增强的性能。 ASP.NET 包括一个编译器,该编译器将包括页和控件在内的所有应用程序组件编译成一个程序集,之后 ASP.NET 宿主环境可以使用该程序集来处理用户请求。有关更多信息,请参见 ASP.NET 编译概述。 安全基础结构 除了 .NET 的安全功能外,ASP.NET 还提供了高级的安全基础结构,以便对用户进行身份验证和授权,并执行其他与安全相关的功能。您可以使用由 IIS 提供的 Windows 身份验证对用户进行身份验证,也可以通过您自己的用户数据库使用 ASP.NET Forms 身份验证和 ASP.NET 成员资格来管理身份验证。此外,可以使用 Windows 组或您自己的自定义角色数据库(使用 ASP.NET 角色)来管理 Web 应用程序的功能和信息方面的授权。您可以根据应用程序的需要方便地移除、添加或替换这些方案。有关更多信息,请参见下列主题: ASP.NET 网站安全性 使用成员资格管理用户 使用角色管理授权 Forms 身份验证提供程序 ASP.NET 始终使用特定的 Windows 标识运行,因此,您可以通过使用 Windows 功能(例如 NTFS 访问控制列表 (ACL)、数据库权限等等)来保护应用程序的安全。有关 ASP.NET 标识的更多信息,请参见配置 ASP.NET 进程标识和 ASP.NET 模拟。 状态管理功能 ASP.NET
ASP.NET WebGIS是一种基于ASP.NET技术开发的Web地理信息系统。它结合了ASP.NET的强大功能和地理信息系统的数据处理能力,使得开发人员能够在Web平台上轻松构建出功能强大、交互性强的地理信息系统应用。 ASP.NET WebGIS具有许多优势。首先,它能够充分利用ASP.NET的特性,如MVC框架、WebForms等,快速构建出界面美观、交互性强的WebGIS应用。其次,它具备强大的数据处理能力,能够轻松处理地理信息数据,进行地图展示、空间分析等操作。另外,ASP.NET WebGIS还能够支持多种数据格式,如地理位置数据、地图瓦片数据等,使得地理信息系统应用能够更好地展示和分析地理数据。 ASP.NET WebGIS也有一些挑战和限制。其中一个挑战是对开发人员的技术要求较高,需要熟练掌握ASP.NET技术以及地理信息系统的相关知识。另外,地理信息数据的获取和处理也需要一定的专业知识和经验。此外,ASP.NET WebGIS应用通常需要与地理信息数据源进行交互,对数据源的管理和维护也需要一定的专业技能。 总的来说,ASP.NET WebGIS是一种非常有潜力的WebGIS开发技术。它能够充分发挥ASP.NET的优势,结合地理信息系统的数据处理能力,为开发人员提供了一个强大的工具,使得他们能够轻松构建出功能丰富、性能优异的地理信息系统应用。随着技术的不断发展,ASP.NET WebGIS应用的开发和应用领域也将得到进一步拓展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值