当前位置: 首页 > news >正文

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有请求头,请求体

http://www.xdnf.cn/news/809479.html

相关文章:

  • 什么是UCML
  • 使用SchedulerFactoryBean集成Quarz Job与Spring
  • Web 2.0(维基百科)
  • Oracle之主键(Primary Key)用法详解
  • Android ActivityManagerService总结(一)AMS启动
  • 智慧档案室一体化建设方案
  • Linux makefile详解
  • .NET Framework 3.5 SP1 最终文件下载及离线安装
  • 一站式Shell编程攻略:从入门到精通
  • java中用中国网建提供的SMS短信平台发送短信
  • 计算机网络基础知识(非常详细)从零基础入门到精通,看完这一篇就够了
  • 亚马逊开店详细教程(3)- 分配存款方式
  • Tomcat的webapps文件夹
  • FormulaR1C1是EXCEL中单元格公式输入方法
  • 40个在线杀毒网站
  • kb931125—rootsupd_kb931125-rootsupd补丁下载
  • 创业投资——IDG技术创业投资基金
  • JAVA安装教程
  • (转)FPE修改全教程1
  • VUE实现下一页的功能
  • java response.write_response.write()区别response.getWrite().write()
  • 简单卷、跨区卷、带区卷、镜像卷和 RAID-5 卷 区别
  • BitCome比特彗星v1.82豪华版(bt下载)
  • 外贸干货|最完整的外贸出口流程,收藏起来耐心看完!
  • 固态硬盘如何4K对齐?扇区大小,簇大小的影响_固态硬盘扇区
  • 自定义Android应用字体的完整指南
  • 香农编码,哈夫曼编码与费诺编码的比较
  • 嵌入式开发对学历门槛要求高吗?
  • X Window系统(X Window System,也常称为X11或X,天窗口系统)是一种以位图方式显示的软件窗口系统。
  • 一文读懂DDR内存基础知识|值得收藏