ASP.NET 教程(一)

ASP.NET 是一个开发框架,用于通过 HTML、CSS、JavaScript 以及服务器脚本来构建网页和网站。

ASP.NET 支持三种开发模式:

Web Pages、MVC (Model View Controller) 以及 Web Forms

MVC 是三种 ASP.NET 编程模式中的一种。

MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的模式:

  • Model(模型)表示应用程序核心(比如数据库记录列表)。
  • View(视图)显示数据(数据库记录)。
  • Controller(控制器)处理输入(写入数据库记录)。

MVC 模式同时提供了对 HTML、CSS 和 JavaScript 的完全控制。

MVC 文件夹

  1.App_Data 文件夹用于存储应用程序数据。

  2.Content 文件夹用于存放静态文件,比如样式表(CSS 文件)、图标和图像。Visual Web Developer 会自动添加一个 themes 文件夹到 Content 文件夹中。themes 文件夹存放 jQuery 样式和图片。在项目中,您可以删除这个 themes 文件夹。

Visual Web Developer 同时也会添加一个标准的样式表文件到项目中:即 content 文件夹中的 Site.css 文件。这个样式表文件是您想要改变应用程序样式时需要编辑的文件。

  3.Controllers 文件夹包含负责处理用户输入和相应的控制器类。MVC 要求所有控制器文件的名称以 "Controller" 结尾。

  4.Models 文件夹包含表示应用程序模型的类。模型控制并操作应用程序的数据。

  5.Views 文件夹用于存储与应用程序的显示相关的 HTML 文件(用户界面)。

  Views 文件夹中包含每个控制器对应的一个文件夹。

  在 Views 文件夹中,Visual Web Developer 已经创建了一个 Account 文件夹、一个 Home 文件夹、一个 Shared 文件夹。

  Account 文件夹包含用于用户账号注册和登录的页面。

  Home 文件夹用于存储诸如 home 页和 about 页之类的应用程序页面。

  Shared 文件夹用于存储控制器间分享的视图(母版页和布局页)。

  6.Scripts 文件夹存储应用程序的 JavaScript 文件。默认情况下,Visual Web Developer 在这个文件夹中存放标准的 MVC、Ajax 和 jQuery 文件

Razor 帮助器

  ASP.NET 帮助器是通过几行简单的 Razor 代码即可访问的组件。

  您可以使用 Razor 语法构建自己的帮助器,或者使用内建的 ASP.NET 帮助器。

  下面是一些有用的 Razor 帮助器的简短说明:

  • Web Grid(Web 网格)
  • Web Graphics(Web 图形)
  • Google Analytics(Google 分析)
  • Facebook Integration(Facebook 集成)
  • Twitter Integration(Twitter 集成)
  • Sending Email(发送电子邮件)
  • Validation(验证)

HTML 链接

呈现 HTML 链接的最简单的方法是使用 HTML.ActionLink() 帮助器。

通过 MVC,Html.ActionLink() 不连接到视图。它创建一个连接到控制器操作。

Razor 语法:

@Html.ActionLink("About this Website", "About")

ASP 语法:

<%=Html.ActionLink("About this Website", "About")%>

第一个参数是链接文本,第二个参数是控制器操作的名称。

上面的 Html.ActionLink() 帮助器,输出以下的 HTML:

Html.ActionLink() 帮助器的一些属性:

属性 描述
.linkText URL 文本(标签),定位点元素的内部文本。
.actionName 操作(action)的名称。
.routeValues 传递给操作(action)的值,是一个包含路由参数的对象。
.controllerName 控制器的名称。
.htmlAttributes URL 的属性设置,是一个包含要为该元素设置的 HTML 特性的对象。
.protocol URL 协议,如 "http" 或 "https"。
.hostname URL 的主机名。
.fragment URL 片段名称(定位点名称)。

 

 

 

 

 

 

 

注释:您可以向控制器操作传递值。例如,您可以向数据库 Edit 操作传递数据库记录的 id:

Razor 语法 C#:

@Html.ActionLink("Edit Record", "Edit", new {Id=3})

Razor 语法 VB:

@Html.ActionLink("Edit Record", "Edit", New With{.Id=3})

上面的 Html.ActionLink() 帮助器,输出以下的 HTML:

HTML 表单元素

以下 HTML 帮助器可用于呈现(修改和输出)HTML 表单元素:

  • BeginForm()
  • EndForm()
  • TextArea()
  • TextBox()
  • CheckBox()
  • RadioButton()
  • ListBox()
  • DropDownList()
  • Hidden()
  • Password()

什么是 Razor?

  Razor 是一种标记语法,可以让您将基于服务器的代码(Visual Basic 和 C#)嵌入到网页中。

  基于服务器的代码可以在网页传送给浏览器时,创建动态 Web 内容。当一个网页被请求时,服务器在返回页面给浏览器之前先执行页面中的基于服务器的代码。通过服务器的运行,代码能执行复杂的任务,比如进入数据库。

  Razor 是基于 ASP.NET 的,是为创建 Web 应用程序而设计的。它具有传统 ASP.NET 的功能,但更容易使用并且更容易学习。

_ViewStart 文件

  Shared 文件夹(位于 Views 文件夹内)中的 _ViewStart 文件包含如下内容:

@{Layout = "~/Views/Shared/_Layout.cshtml";}

  这段代码被自动添加到由应用程序显示的所有视图。

  如果您删除了这个文件,则必须向所有视图中添加这行代码。

 

 

ASP.NET MVC - 参考手册


描述
AcceptVerbsAttribute 表示一个特性,该特性指定操作方法将响应的 HTTP 谓词。
ActionDescriptor 提供有关操作方法的信息,比如操作方法的名称、控制器、参数、特性和筛选器。
ActionExecutedContext 提供 ActionFilterAttribute 类的 ActionExecuted 方法的上下文。
ActionExecutingContext 提供 ActionFilterAttribute 类的 ActionExecuting 方法的上下文。
ActionFilterAttribute 表示筛选器特性的基类。
ActionMethodSelectorAttribute 表示一个用于影响操作方法选择的特性。
ActionNameAttribute 表示一个用于操作的名称的特性。
ActionNameSelectorAttribute 表示一个可影响操作方法选择的特性。
ActionResult 封装一个操作方法的结果并用于代表该操作方法执行框架级操作。
AdditionalMetadataAttribute 提供一个类,该类实现 IMetadataAware 接口以支持其他元数据。
AjaxHelper 表示支持在视图中呈现 AJAX 方案中的 HTML。
AjaxHelper(TModel) 表示支持在强类型视图中呈现 AJAX 方案中的 HTML。
AjaxRequestExtensions 表示一个类,该类对 HttpRequestBase 类进行了扩展,在其中添加了确定 HTTP 请求是否为 AJAX 请求的功能。
AllowHtmlAttribute 通过跳过属性的请求验证,允许请求在模型绑定过程中包含 HTML 标记。(强烈建议应用程序显式检查所有禁用请求验证的模型,以防止脚本攻击。)
AreaRegistration 提供在一个 ASP.NET MVC 应用程序内注册一个或多个区域的方式。
AreaRegistrationContext 对在 ASP.NET MVC 应用程序内注册某个区域时所需的信息进行封装。
AssociatedMetadataProvider 提供用于实现元数据提供程序的抽象类。
AssociatedValidatorProvider 为用于实现验证提供程序的类提供抽象类。
AsyncController 为异步控制器提供基类。
AsyncTimeoutAttribute 表示一个特性,该特性用于设置异步方法的超时值(以毫秒为单位)。
AuthorizationContext 对使用 AuthorizeAttribute 特性时所需的信息进行封装。
AuthorizeAttribute 表示一个特性,该特性用于限制调用方对操作方法的访问。
BindAttribute 表示一个特性,该特性用于提供有关应如何进行模型绑定到参数的详细信息。
BuildManagerCompiledView 表示在视图引擎呈现视图之前由 BuildManager 类编译的视图的基类。
BuildManagerViewEngine 为视图引擎提供基类。
ByteArrayModelBinder 映射浏览器请求到字节数组。
ChildActionOnlyAttribute 表示一个特性,该特性用于指示操作方法只应作为子操作进行调用。
ChildActionValueProvider 表示子操作中的值的值提供程序。
ChildActionValueProviderFactory 表示用于为子操作创建值提供程序对象的工厂。
ClientDataTypeModelValidatorProvider 返回客户端数据类型模型验证程序。
CompareAttribute 提供用于比较某个模型的两个属性的特性。
ContentResult 表示用户定义的内容类型,该类型是操作方法的结果。
Controller 提供用于响应对 ASP.NET MVC 网站所进行的 HTTP 请求的方法。
ControllerActionInvoker 表示一个类,该类负责调用控制器的操作方法。
ControllerBase 表示所有 MVC 控制器的基类。
ControllerBuilder 表示一个类,该类负责动态生成控制器。
ControllerContext 封装有关与指定的 RouteBase 和 ControllerBase 实例匹配的 HTTP 请求的信息。
ControllerDescriptor 封装描述控制器的信息,比如控制器的名称、类型和操作。
ControllerInstanceFilterProvider 将控制器添加到 FilterProviderCollection 实例。
CustomModelBinderAttribute 表示一个调用自定义模型联编程序的特性。
DataAnnotationsModelMetadata 为数据模型的公共元数据、DataAnnotationsModelMetadataProvider 类和 DataAnnotationsModelValidator 类提供容器。
DataAnnotationsModelMetadataProvider 实现 ASP.NET MVC 的默认模型元数据提供程序。
DataAnnotationsModelValidator 提供模型验证程序。
DataAnnotationsModelValidator(TAttribute) 为指定的验证类型提供模型验证程序。
DataAnnotationsModelValidatorProvider 实现 ASP.NET MVC 的默认验证提供程序。
DataErrorInfoModelValidatorProvider 为错误信息模型验证程序提供容器。
DefaultControllerFactory 表示默认情况下已注册的控制器工厂。
DefaultModelBinder 映射浏览器请求到数据对象。该类提供模型联编程序的具体实现。
DefaultViewLocationCache 表示视图位置的内存缓存。
DependencyResolver 为实现 IDependencyResolver 或公共服务定位器 IServiceLocator 接口的依赖关系解析程序提供一个注册点。
DependencyResolverExtensions 提供 GetService 和 GetServices 的类型安全实现。
DictionaryValueProvider(TValue) 表示值提供程序的基类,这些值提供程序的值来自实现 IDictionary(TKey, TValue) 接口的集合。
EmptyModelMetadataProvider 为不需要元数据的数据模型提供空的元数据提供程序。
EmptyModelValidatorProvider 为不需要验证程序的模型提供空的验证提供程序。
EmptyResult 表示一个不执行任何操作的结果,比如一个不返回任何内容的控制器操作方法。
ExceptionContext P提供使用 HandleErrorAttribute 类的上下文。
ExpressionHelper 提供用于从表达式中获取模型名称的帮助器类。
FieldValidationMetadata 为客户端字段验证元数据提供容器。
FileContentResult 将二进制文件的内容发送到响应。
FilePathResult 将文件的内容发送到响应。
FileResult 表示一个用于将二进制文件内容发送到响应的基类。
FileStreamResult 使用 Stream 实例将二进制内容发送到响应。
Filter 表示一个元数据类,它包含对一个或多个筛选器接口的实现、筛选器顺序和筛选器范围的引用。
FilterAttribute 表示操作和结果筛选器特性的基类。
FilterAttributeFilterProvider 定义筛选器特性的筛选器提供程序。
FilterInfo 封装有关可用的操作筛选器的信息。
FilterProviderCollection 表示应用程序的筛选器提供程序的集合。
FilterProviders 为筛选器提供一个注册点。
FormCollection 包含应用程序的表单值提供程序。
FormContext 对验证和处理 HTML 表单中的输入数据所需的信息进行封装。
FormValueProvider 表示 NameValueCollection 对象中包含的表单值的值提供程序。
FormValueProviderFactory 表示一个类,该类负责创建表单值提供程序对象的新实例。
GlobalFilterCollection 表示一个包含所有全局筛选器的类。
GlobalFilters 表示全局筛选器集合。
HandleErrorAttribute 表示一个特性,该特性用于处理由操作方法引发的异常。
HandleErrorInfo 封装有关处理由操作方法引发的错误的信息。
HiddenInputAttribute 表示一个特性,该特性用于指示是否应将属性值或字段值呈现为隐藏的 input 元素。
HtmlHelper 表示支持在视图中呈现 HTML 控件。
HtmlHelper(TModel) 表示支持在强类型视图中呈现 HTML 控件。
HttpDeleteAttribute 表示一个特性,该特性用于限制操作方法,以便该方法仅处理 HTTP DELETE 请求。
HttpFileCollectionValueProvider 表示要用于来自 HTTP 文件集合的值的值提供程序。
HttpFileCollectionValueProviderFactory 表示一个类,该类负责创建 HTTP 文件集合值提供程序对象的新实例。
HttpGetAttribute 表示一个特性,该特性用于限制操作方法,以便该方法仅处理 HTTP GET 请求。
HttpNotFoundResult 定义一个用于指示未找到所请求资源的对象。
HttpPostAttribute 表示一个特性,该特性用于限制操作方法,以便该方法仅处理 HTTP POST 请求。
HttpPostedFileBaseModelBinder 将模型绑定到已发布的文件。
HttpPutAttribute 表示一个特性,该特性用于限制操作方法,以便该方法仅处理 HTTP PUT 请求。
HttpRequestExtensions 扩展 HttpRequestBase 类,该类包含客户端在 Web 请求中发送的 HTTP 值。
HttpStatusCodeResult 提供一种用于返回带特定 HTTP 响应状态代码和说明的操作结果的方法。
HttpUnauthorizedResult 表示未经授权的 HTTP 请求的结果。
JavaScriptResult 将 JavaScript 内容发送到响应。
JsonResult 表示一个类,该类用于将 JSON 格式的内容发送到响应。
JsonValueProviderFactory 启用操作方法以发送和接收 JSON 格式的文本,并将 JSON 文本以模型绑定方式传递给操作方法的参数。
LinqBinaryModelBinder 映射浏览器请求到 LINQ Binary 对象。
ModelBinderAttribute 表示一个特性,该特性用于将模型类型关联到模型-生成器类型。
ModelBinderDictionary 表示一个类,该类包含应用程序的所有模型联编程序(按联编程序类型列出)。
ModelBinderProviderCollection 为模型联编程序提供程序提供一个容器。
ModelBinderProviders 为模型联编程序提供程序提供一个容器。
ModelBinders 提供对应用程序的模型联编程序的全局访问。
ModelBindingContext 提供运行模型联编程序的上下文。
ModelClientValidationEqualToRule 为发送到浏览器的相等验证规则提供一个容器。
ModelClientValidationRangeRule 为发送到浏览器的范围验证规则提供一个容器。
ModelClientValidationRegexRule 为发送到浏览器的正则表达式客户端验证规则提供一个容器。
ModelClientValidationRemoteRule 为发送到浏览器的远程验证规则提供一个容器。
ModelClientValidationRequiredRule 为必填字段的客户端验证提供一个容器。
ModelClientValidationRule 为发送到浏览器的客户端验证规则提供一个基类容器。
ModelClientValidationStringLengthRule 为发送到浏览器的字符串长度验证规则提供一个容器。
ModelError 表示在模型绑定期间发生的错误。
ModelErrorCollection ModelError 实例的集合。
ModelMetadata 为数据模型的公共元数据、ModelMetadataProvider 类和 ModelValidator 类提供容器。
ModelMetadataProvider 为自定义元数据提供程序提供抽象基类。
ModelMetadataProviders 为当前的 ModelMetadataProvider 实例提供容器。
ModelState 将模型绑定的状态封装到操作方法参数的一个属性或操作方法参数本身。
ModelStateDictionary 表示将已发送表单绑定到操作方法(其中包括验证信息)的尝试的状态。
ModelValidationResult 为验证结果提供容器。
ModelValidator 提供用于实现验证逻辑的基类。
ModelValidatorProvider 为模型提供验证程序的列表。
ModelValidatorProviderCollection 为验证提供程序的列表提供一个容器。
ModelValidatorProviders 为当前验证提供程序提供容器。
MultiSelectList 表示一个项列表,用户可从该列表中选择多个项。
MvcFilter 在派生类中实现时,提供一个元数据类,它包含对一个或多个筛选器接口的实现、筛选器顺序和筛选器范围的引用。
MvcHandler 选择将处理 HTTP 请求的控制器。
MvcHtmlString 表示不应再次进行编码的 HTML 编码的字符串。
MvcHttpHandler 验证并处理 HTTP 请求。
MvcRouteHandler 创建一个实现 IHttpHandler 接口的对象并向该对象传递请求上下文。
MvcWebRazorHostFactory 创建 MvcWebPageRazorHost 文件的实例。
NameValueCollectionExtensions 扩展 NameValueCollection 对象,以便能够将集合复制到指定字典。
NameValueCollectionValueProvider 表示值提供程序的基类,这些值提供程序的值来自 NameValueCollection 对象。
NoAsyncTimeoutAttribute 为 AsyncTimeoutAttribute 特性提供便利包装。
NonActionAttribute 表示一个特性,该特性用于指示控制器方法不是操作方法。
OutputCacheAttribute 表示一个特性,该特性用于标记将缓存其输出的操作方法。
ParameterBindingInfo 封装与将操作方法参数绑定到数据模型相关的信息。
ParameterDescriptor 包含描述参数的信息。
PartialViewResult 表示一个用于将部分视图发送到响应的基类。
PreApplicationStartCode 为 ASP.NET Razor 应用程序预启动代码提供注册点。
QueryStringValueProvider 表示 NameValueCollection 对象中包含的查询字符串的值提供程序。
QueryStringValueProviderFactory 表示一个类,该类负责创建查询字符串值提供程序对象的新实例。
RangeAttributeAdapter 提供 RangeAttribute 特性的适配器。
RazorView 表示用于创建具有 Razor 语法的视图的类。
RazorViewEngine 表示一个用于呈现使用 ASP.NET Razor 语法的 Web 页面的视图引擎。
RedirectResult 通过重定向到指定的 URI 来控制对应用程序操作的处理。
RedirectToRouteResult 表示使用指定的路由值字典来执行重定向的结果。
ReflectedActionDescriptor 包含描述反射的操作方法的信息。
ReflectedControllerDescriptor 包含描述反射的控制器的信息。
ReflectedParameterDescriptor 包含描述反射的操作方法参数的信息。
RegularExpressionAttributeAdapter 提供 RegularExpressionAttribute 特性的适配器。
RemoteAttribute 提供使用 jQuery 验证插件远程验证程序的特性。
RequiredAttributeAdapter 提供 RequiredAttributeAttribute 特性的适配器。
RequireHttpsAttribute 表示一个特性,该特性用于强制通过 HTTPS 重新发送不安全的 HTTP 请求。
ResultExecutedContext 提供 ActionFilterAttribute 类的 OnResultExecuted 方法的上下文。
ResultExecutingContext 提供 ActionFilterAttribute 类的 OnResultExecuting 方法的上下文。
RouteCollectionExtensions 扩展 RouteCollection 对象以进行 MVC 路由。
RouteDataValueProvider 表示实现 IDictionary(TKey, TValue) 接口的对象中包含的路由数据的值提供程序。
RouteDataValueProviderFactory 表示用来创建路由数据值提供程序对象的工厂。
SelectList 表示一个列表,用户可从该列表中选择一个项。
SelectListItem 表示 SelectList 类的实例中的选定项。
SessionStateAttribute 指定控制器的会话状态。
SessionStateTempDataProvider 为当前 TempDataDictionary 对象提供会话状态数据。
StringLengthAttributeAdapter 提供 StringLengthAttribute 特性的适配器。
TempDataDictionary 表示仅从一个请求保持到下一个请求的数据集。
TemplateInfo 封装有关当前模板上下文的信息。
UrlHelper 包含用于为应用程序内的 ASP.NET MVC 生成 URL 的方法。
UrlParameter 表示路由过程中 MvcHandler 类使用的可选参数。
ValidatableObjectAdapter 提供可验证的对象适配器。
ValidateAntiForgeryTokenAttribute 表示用于阻止伪造请求的特性。
ValidateInputAttribute 表示一个特性,该特性用于标记必须验证其输入的操作方法。
ValueProviderCollection 表示应用程序的值提供程序对象的集合。
ValueProviderDictionary 已过时。表示应用程序的值提供程序的字典。
ValueProviderFactories 表示值提供程序工厂对象的容器。
ValueProviderFactory 表示用来创建值提供程序对象的工厂。
ValueProviderFactoryCollection 表示应用程序的值提供程序工厂的集合。
ValueProviderResult 表示将一个值(如表单发送的值或查询字符串中的值)绑定到操作方法参数属性或绑定到该参数本身的结果。
ViewContext 封装与呈现视图相关的信息。
ViewDataDictionary 表示一个容器,该容器用于在控制器和视图之间传递数据。
ViewDataDictionary(TModel) 表示一个容器,该容器用于在控制器和视图之间传递强类型数据。
ViewDataInfo 对开发模板所使用的当前模板内容和与模板交互的 HTML 帮助器的相关信息进行封装。
ViewEngineCollection 表示对应用程序可用的视图引擎的集合。
ViewEngineResult 表示定位视图引擎的结果。
ViewEngines 表示对应用程序可用的视图引擎的集合。
ViewMasterPage 表示生成母版视图页所需的信息。
ViewMasterPage(TModel) 表示生成强类型母版视图页所需的信息。
ViewPage 表示将视图呈现为 Web Forms 页所需的属性和方法。
ViewPage(TModel) 表示将强类型视图呈现为 Web Forms 页所需的信息。
ViewResult 表示一个类,该类用于使用由 IViewEngine 对象返回的 IView 实例来呈现视图。
ViewResultBase 表示一个用于为视图提供模型并向响应呈现视图的基类。
ViewStartPage 提供可用于实现视图启动(母版)页的抽象类。
ViewTemplateUserControl 提供 TemplateInfo 对象的容器。
ViewTemplateUserControl(TModel) 提供 TemplateInfo 对象的容器。
ViewType 表示视图的类型。
ViewUserControl 表示生成用户控件所需的信息。
ViewUserControl(TModel) 表示生成强类型用户控件所需的信息。
VirtualPathProviderViewEngine 表示 IViewEngine 接口的抽象基类实现。
WebFormView 表示在 ASP.NET MVC 中生成 Web Forms 页时所需的信息。
WebFormViewEngine 表示一个用于向响应呈现 Web Forms 页的视图引擎。
WebViewPage 表示呈现使用 ASP.NET Razor 语法的视图所需的属性和方法。
WebViewPage(TModel) 表示呈现使用 ASP.NET Razor 语法的视图所需的属性和方法。

 

接口

接口 描述
IActionFilter 定义操作筛选器中使用的方法。
IActionInvoker 定义操作调用程序的协定,该调用程序用于调用一个操作以响应 HTTP 请求。
IAuthorizationFilter 定义授权筛选器所需的方法。
IClientValidatable 为 ASP.NET MVC 验证框架提供一种用于在运行时发现验证程序是否支持客户端验证的方法。
IController 定义控制器所需的方法。
IControllerActivator 对使用依赖关系注入来实例化控制器的方式进行精细控制。
IControllerFactory 定义控制器工厂所需的方法。
IDependencyResolver 定义可简化服务位置和依赖关系解析的方法。
IExceptionFilter 定义异常筛选器所需的方法。
IFilterProvider 提供用于查找筛选器的接口。
IMetadataAware 提供用于向 AssociatedMetadataProvider 类公开特性的接口。
IModelBinder 定义模型联编程序所需的方法。
IModelBinderProvider 定义用于为实现 IModelBinder 接口的类动态实现模型绑定的方法。
IMvcFilter 定义用于指定筛选器顺序以及是否允许多个筛选器的成员。
IResultFilter 定义结果筛选器所需的方法。
IRouteWithArea 将路由与 ASP.NET MVC 应用程序中的区域关联。
ITempDataProvider 定义临时数据提供程序的协定,这些临时数据提供程序用于存储要在下一个请求中查看的数据。
IUnvalidatedValueProvider 表示一个可跳过请求验证的 IValueProvider 接口。
IValueProvider 定义 ASP.NET MVC 中的值提供程序所需的方法。
IView 定义视图所需的方法。
IViewDataContainer 定义视图数据字典所需的方法。
IViewEngine 定义视图引擎所需的方法。
IViewLocationCache 定义在内存中缓存视图位置所需的方法。
IViewPageActivator 对使用依赖关系注入创建视图页的方式进行精细控制。

转载于:https://www.cnblogs.com/cnsdhzzl/p/6225236.html

你可能感兴趣的:(ASP.NET 教程(一))