大家好,又见面了,我是你们的朋友全栈君。
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的参数。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/162936.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...