zoukankan      html  css  js  c++  java
  • 艾伟_转载:学习 ASP.NET MVC (第二回)实战篇 狼人:

    本系列文章导航

    学习 ASP.NET MVC (第一回)理论篇

    学习 ASP.NET MVC (第二回)实战篇

    学习 ASP.NET MVC (第三回)实战篇

    学习 ASP.NET MVC (第四回)实战篇

    学习 ASP.NET MVC (第五回)理论篇

    上篇简单的了解了ASP.NET MVC的基本概念和基本流程,接下来的几篇将通过简单的实例,来看看如何通过ASP.NET MVC创建应用程序。Demo很简单也很基础,高手绕过。
      闲话少说,直接进入正题。首先我们要做的就是安装ASP.NET 1.0。大家可以到CodePlex上下载。
      然后我们用VS2008创建新的ASP.NET MVC项目:

    点击确定后,会提示是否创建一个测试项目,点击ok即可。

    在解决方案中,我们就可以看到ASP.NET MVC给我们创建的好的模板:

    默认情况下:
    Controls – 放置 Controller 类,处理 URL 请求。
    Models – 放置业务实体类,表示和操作数据。
    Views – 放置 UI 模板文件,负责展示输出结果。
    Scripts – 放置 Javascript 类库文件和.js 文件。
    Contents – 放置 CSS 和图像文件,以及其他非动态的、非 Javascript 文件。
    App_Data – 放置数据库文件。
    ASP.NET MVC 应用程序不是必须要求这样的目录结构。事实上,大型系统的开发人员通常会将应用程序分为多个项目文件,这样是项目更易于管理(如,数据 Model 类通常在一个单独的类库项目中)。默认的项目结构提供了常规的目录结构,用来保存应用程序更加清晰。
    直接运行现有的项目:

    当我们点击log on:
    http://localhost/:端口号/{控制器名}/{Action方法名}

    有个叫Account的Controller,有个叫LogOn的Action。这样就请求了登陆页面:

    创建数据库

    这里简单的创建一个User表,用来存储用户的信息。向表中添加一些数据。
    创建 Model 模型
    在 Model-View-Controller 框架中,Model表示应用程序的数据对象,以及相应的业务领域逻辑,包括数据验证和业务规则。Model是 MVC 应用程序的核心部分,下面我们会看到 Model的作用。ASP.NET MVC 框架支持使用任意数据访问技术,开发人员可以选择大量的.NET 数据访问技术实现 Model。这里我们选择LINQ to SQL的方式来实现对数据的访问。
    增加LINQ to SQL 类到项目程序中:在Model文件夹上右键--添加新项:

    将User表手动拽到管理器中:

    接下来我们就可以利用Linq来对数据库进行操作。我们创建一个UserRepository.cs,封装对User的增加,删除,修改的操作。

    Code

    Model 类集成验证和业务规则逻辑
    项目中我们常常会有业务的验证和业务的逻辑规则,比如不允许用户输入的信息为空之类的,我们在Model文件夹中添加Users.cs。来对User进行验证:

    Code

    这里有几点值得注意:
    我们直接对 Users模型类公开 IsValid 属性和GetRuleViolations() 方法,IsValid 属性根据验证和业务规则返回 true 或 false,GetRuleViolations() 则返回
    所有错误的业务逻辑列表。
    我们将class 定义为Partial 到项目中,来实现 IsValid 和 GetRuleViolations()方法。Partial 类用来增加方法/属性/事件到 VS 设计器生成的类中(如 LINQ to SQL 设计器生成的 Users类),有助于区分我们编写的代码。
    这里,我们使用 C#的 yield return 特性,返回有序的 RuleViolation 集合。
    yield return 语句返回集合的一个元素,并移动到下一个元素上。yield break 可停止迭代。包含 yield 语句的方法或属性也称为迭代块。迭代块必须声明为返回 IEnumerator 或 IEnumerable 接口。这个块可以包含多个 yield return 语句或 yield break 语句,但不能包含 return 语句。
    当然这里只是简单的进行数据的验证。
    到这里,我们就基本上对Users的Model的编写就基本的完成了。
    ok,先在这里,下篇待续。

  • 相关阅读:
    二十九:CSRF及SSRF漏洞案例讲解
    二十八:XSS跨站之WAF绕过及安全检测
    二十七:XSS跨站之代码及httponly绕过
    二十六:XSS跨站之订单及shell箱子反杀
    二十五:XSS跨站值原理分类及攻击手法
    二十四:文件上传之WAF绕过及安全修复
    二十三:文件上传之解析漏洞编辑器安全
    二十二:内容逻辑数组绕过
    mysql-----04 多表查询
    Python·——进程1
  • 原文地址:https://www.cnblogs.com/waw/p/2157148.html
Copyright © 2011-2022 走看看