初探ASP NET MVC Web Application

初探ASP NET MVC Web Application1.使用VisualStudio2008,下载ASP.NETMVCFramework2.默认的ASP.NETMVCProject包括6个目录Controls–放置Controller类,处理URL请求。Models–放置业务实体类,表示和操作数据。Views–放置UI模板文件,负责展示输出结果。(MVC主要的目录)Scripts–放置Javascr

大家好,又见面了,我是你们的朋友全栈君。

1. 使用Visual Studio 2008,下载ASP.NET MVC Framework

2. 默认的ASP.NET MVC Project包括6个目录

Controls – 放置Controller 类,处理URL 请求。
Models – 放置业务实体类,表示和操作数据。
Views – 放置UI 模板文件,负责展示输出结果。

(MVC主要的目录)
Scripts – 放置Javascript 类库文件和.js 文件。
Contents – 放置CSS 和图像文件,以及其他非动态的、非Javascript 文件。
App_Data – 放置数据库文件。

Of course, you can change this folder structure, ie.Model into a separate dll.

3.Controllers and Views.

传统的Web Framework,都是把URL映射为文件(*.aspx).而MVC则是把URL映射到Controller Class的Method上。

Controller Class负责处理HTTP Request,检索用户输入,然后决定如何给客户响应。

4.如何理解ASP.NET MVC 的Routing

可以定制选择哪个Controller类,以及哪个方法,以及从URL/Querystring自动得到参数信息,并且传递给Method,并且路由信息

也是通过SEO(Search Engine Optimization)。

默认的路由信息在Global.asax的RegisterRoutes();

{

routes.MapRoute(
“Default”, // Route name
“{controller}/{action}/{id}”, // URL w/ params
new { controller=”Home”, action=”Index”,id=”” } // Param defaults
);

}

 

URL的格式为:/{controller}/{action}/{id}.Action是Public Method.Controller Class, ID是Action的参数。

5. 把Controller和View分离,最大的好处是可以对应用程序的逻辑进行Unit testing.

public class XXXController : Controller

{

 

public ActionResult Index()

{

 var dinners = GetDinners();

return new View(“Index”, dinners);

}

}

 

View方法的原型如下:

ViewResult View(string viewName, object model);

第一个参数是view模板文件,第二个参数是传递数据的Model 对象。

6. 在View中创建Hyper Link,两种方法,一种是传统的

<a href=”Dinners/Details<%=dinner.id%”>

第二种是ASP.NET MVC内置的html.ActionLink()方法

<%= Html.ActionLink(dinner.Title, “Details”, new { id=dinner.DinnerID }) %>

第一个参数显示的内容,第二个参数是Controller的Action 方法,第三个参数是Action的参数。

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/162936.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月21日 下午11:36
下一篇 2022年7月21日 下午11:36


相关推荐

  • java之子工程无法引用父工程的依赖,解决

    java之子工程无法引用父工程的依赖,解决父工程引用依赖不能用 dependencyMa 因为他只是一个版本声明 声明公共依赖需要用 dependencies 来声明 dependencies dependencyMa

    2026年3月19日
    3
  • Linux 系统中的主要目录有哪些?_linux系统中进程有哪些类型

    Linux 系统中的主要目录有哪些?_linux系统中进程有哪些类型简介本文讲解SNMPTrap,在介绍Trap概念之前,首先认识一下SNMP吧。简单网络管理协议(SimpleNetworkManagementProtocol)是一种应用层协议,是TCP/IP协议族的一部分。它使网络设备之间能够方便地交换管理信息。能够让网络管理员管理网络的性能,发现和解决网络问题及进行网络的扩充。目前SNMP已成为网络管理领域中事实上

    2022年8月22日
    9
  • 对象数据库 VS 关系数据库

    对象数据库 VS 关系数据库对象数据库 VS 关系数据库我们将对象数据库管理系统 ODBMS 定义为一个集成了数据库能力与面向对象编程语言能力的数据库管理系统 DBMS ODBMS 使数据库对象看起来像是已有的一个或多个程序设计语言中的程序设计语言以象 RickCattell OMG 93 委员会主席 ODBMS 在多用户客户机 服务器环境中提供了持久性存储器 ODBMS 可以处理对象的并行访问 提供锁定和事务保护

    2026年3月19日
    2
  • 登顶全球榜首!月之暗面发布新款开源大模型

    登顶全球榜首!月之暗面发布新款开源大模型

    2026年3月12日
    3
  • 二维数组a[3][4]_树状数组的算法原理

    二维数组a[3][4]_树状数组的算法原理原题链接堆栈是一种经典的后进先出的线性结构,相关的操作主要有“入栈”(在堆栈顶插入一个元素)和“出栈”(将栈顶元素返回并从堆栈中删除)。本题要求你实现另一个附加的操作:“取中值”——即返回所有堆栈中元素键值的中值。给定 N 个元素,如果 N 是偶数,则中值定义为第 N/2 小元;若是奇数,则为第 (N+1)/2 小元。输入格式:输入的第一行是正整数 N(≤10​5​​ )。随后 N 行,每行给出一句指令,为以下 3 种之一:Push keyPopPeekMedian其中 key 是不超过

    2022年8月9日
    5
  • c++ STL_鱼c

    c++ STL_鱼c学校并未教授C++,当初接触的C++的STL,也是皮毛而已。结合对Java的集合框架等内容的认识,回顾这部分内容,收获很大。文章目录概述STL六大组件简介三大组件介绍1.容器2.算法3.迭代器常用容器1.string容器string容器基本概念string容器常用操作2.vector容器vector容器基本概念vector迭代器vector的数据结构vector常用API操作…

    2022年10月16日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号