摘要:
理解视图我们已经讨论了控制器和视图,我们要讨论的最后一个主题是模型,什么是MVC模型呢?MVC模型包括应用程序的所有逻辑,这些逻辑在视图和控制器都是没有的,模型应该包括应用程序所有的业务逻辑和数据库访问逻辑,例如,如果你使用LINQ到SQL访问你的数据库,那么你就应该在模型(Models)文件夹下创建LINQ到SQL的类。视图应该只包括与用户接口有关的逻辑,控制器应该只包括暴露给请求返回正确视图的最小逻辑或将用户重定向到另一个控制器行为的逻辑,除此之外其它任何逻辑都应该包括在模型中。通常,你应该为控制器减肥,为模型增肥,控制器方法应该只包括很少的代码,如果控制器行为太臃肿了,你应该思考如何将其 阅读全文
摘要:
理解视图HomeController类暴露了两个控制器行为:Index()和About(),它们返回的都是一个视图。视图包括HTML标记和发送给浏览器的内容,在ASP.NET MVC应用程序中,一个视图就相当于一个页面。你必须在正确的位置创建你的视图,HomeController.Index()行为返回位于下列路径的视图:\View\Home\Index.cshtmlHomeController.About()行为返回位于下列路径的试图:\View\Home\About.cshtml如果你想为控制器行为返回一个视图,你必须在视图文件夹下创建一个与控制器名字相同的子文件夹如下图所示:控制器里有A 阅读全文
摘要:
理解控制器控制器控制用户与ASP.NET MVC应用程序交互的方式,由控制器决定向发送了请求的用户返回什么内容。控制器就是一个类,ASP.NET MVC示例应用程序在控制器文件夹下包括了一个名叫HomeController.cs的控制器和一个AccountContrller.cs的控制器,HomeController.cs的内容如清单2所示。清单2 HomeController.cspublic class HomeController : Controller { public ActionResult Index() { ViewBag.Message = "Welcome to 阅读全文
摘要:
理解URL路由1.当第一个请求从客户端发起的时候,首先执行的是Global.asax中的application_Start()方法来完成一些初始化工作,其中重要的一步是RegisterRoutes方法,这个方法指定了如何将URL映射到具体的方法上,也就是创建默认路由表。默认路由表只有一条路由记录,它将所有入站请求分成三段,第一段映射到控制器名字,第二段映射到行为名字,最后一段映射到传递给行为的参数Id.如下面的URL:/Product/Details/3这个URL被解析成下面三部分:Controller=ProductController //控制器名字Action=Details//行为名I 阅读全文
摘要:
用Visual Studio默认模板创建ASP.NET MVC Web应用程序时,会附带创建一个非常简单的实例程序,可以用来帮助理解ASP.NET MVC程序中的各个组成部分,本文我们就用这个示例进行讲解。在Visual Studio 2010中点击“文件” > “新建项目”,选择“ASP.NET MVC”模板创建一个ASP.NET MVC 3.0应用程序,如图1所示,在新建项目对话框中,在项目类型下选择你熟悉的编程语言,如Visual Basic 或 C#,然后在模板下选择“ASP.NET MVC 3 Web Application”模板,点击确定按钮。图1 新建项目对话框你在创建一个 阅读全文
摘要:
1.protected 关键字是一个成员访问修饰符。 受保护成员在其所在的类中可由派生类实例2.private 是完全私有的,只有当前类中的成员能访问到.3.protected 是受保护的,只有当前类的成员与继承该类的类才能访问4.internal同一程序集可以访问,接口的成员不能使用 internal 修饰符,如果为 internal 成员加上了protected 修饰符,这时的访问级别为 internal或 protected。只是看字面意思容易弄错,许多人认为 internal protected 应该是“只有同一个程序集中的子类可以访问”,但其实它表示“同一个程序集中的所有类,以及所有 阅读全文
摘要:
封装 是隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别。细说就是将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”,其中数据和函数都是类的成员。封装的目的是增强安全性和简化编程,使用者不必了解具体的实现细节,只是要通过外部接口,一特定的访问权限来使用类的成员。 阅读全文