源栈培训:ASP.NET MVC-1:项目架构

更多
2019年08月01日 11点47分 作者:叶飞 修改

引子:RazorPage是在MVC的基础上发展起来的,深入学习Razor Page,绕不开MVC。

而且,MVC也才是这几年前最主流的技术


初始MVC

基于.NET Framework(演示:略)

核心的三个文件夹,以及他们的关系

其他:
  • 启动:Global.asax和App_Start
  • 项目配置:web.config
  • 静态(文件)资源:Content(CSS)/Scripts/fonts
  • ……


Route配置

注意:还是要先有route,将URL转换成Handler(MVC里就是Controller和Action)

配置位置:RouteConfig.RegisterRoutes()

解释默认配置:

            routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
            );



Controller和Action

所有Controller都必须:

  • 通常都放置在Controllers文件夹下(试了下,也可以放在其他地方,^_^)
  • 继承自Controller基类:里面保存了Session/Request/Response等常用属性和Redirect()/View()/Json()等常用方法

Action方法:Controller中返回ActionResult的方法

  • 重载的方法可以标记[HttpPost]/[HttpGet]等进行区分
  • 但仅仅是[HttpPost]/[HttpGet]不能形成“重载”的效果(即不能用[HttpPost]/[HttpGet]等特性来区分方法)


View

return View()会去Views文件夹下面寻找:

  • 和它所在的controller同名的folder下的
  • 和它Acton同名的.cshtml文件


Model

贫血/充血模式:通常使用贫血模式,Model就是一个DTO,业务逻辑由额外的entity完成

由controller传到view:

  • 通过View()的参数
  • View中使用@mode引用,使用@Model取值

从view传到controller:

  • 通过Action()参数
  • ASP.NET MVC自动绑定


HTML Helper

使用form

@using (Html.BeginForm()){ }
form里面@Html引导的控件,有两种形式:
        @Html.Label("UserName")<br />//不推荐
        @Html.LabelFor(m => m.UserName)//推荐使用Lambda表达式得到智能提示和编译时检查的支持

Html Helper同样可以进行验证:

  • 客户端,需要引入jquery、jquery.validate 和 jquery.validate.unobtrusive;
  • 服务器端:仍然需要手写:if (!ModelState.IsValid)
    @Html.TextBoxFor(m => m.UserName)<br />
    @Html.ValidationMessageFor(m => m.UserName)<br />
其他HTML Helper

        <label>@Html.RadioButtonFor(m => m.IsMale, true)男</label>
        <label>来自:</label>@Html.EnumDropDownListFor(m => m.InCity)
        <label>介绍:</label>@Html.TextAreaFor(m => m.SelfIntroduction)
        <label>@Html.CheckBoxFor(m => m.RememberMe)记住我</label>


演示:,略

作业



源栈培训 ASP.NET MVC
赞: 47 踩: 9

打赏
已收到打赏的 帮帮币

你的 打赏 非常重要!
为了保证文章的质量,每一篇文章的发布,都已经消耗了作者 1 枚 帮帮币
没有“帮帮币”,作者无法发布新的文章。

全系列阅读
评论 / 0
叶飞的系列文章

源栈培训:ASP.NET全栈开发

飞哥的源栈培训:线上全程直播,免费收看;线下拎包入住,按周计费。本系列收录所有讲义(含视频录播地址)

编程那些事:菜鸟入门

大飞哥倾力之作,面向有意入行IT/开发/编程的初学者,欢迎任何形式的留言建议……

从包工头到程序猿

真实故事,讲述我在家装公司关门之后,如何转行成为一个程序猿的故事。(《折腾》第三卷)

《折腾》(卷一)青涩

时间段:从大学毕业到开始创业。离开青葱校园,涉世之初的那些往事……

《折腾》(卷二)风雨 之(1)工地

我一个完全的门外汉(无论装修还是管理),开始给黎叔装修房子。从踌躅满志,到四处碰壁;从一往直前,到左右为难……

《折腾》(卷二)风雨 之(2)胸怀

作为一个律师,接工程没签合同,被狠狠的坑了一把!年轻人暴烈的想要复仇,黎叔教他一个企业家的胸怀……

《折腾》(卷二)风雨 之(3)渠道

成立了公司,招聘了员工,开始大力的拓展业务,一个接一个的坑,摔倒了又爬起来……

《折腾》(卷二)风雨 之(4)视野

经历残酷现实的磨砺,终于明白:干啥事,都不能闭门造车,人要走出去,开阔视野……

未分类

系统自动生成的未分类系列

一锅大杂烩

从律师到包工头,从码农到写手,读书交友生活创业,各种零零碎碎,乱七八糟……

人人都是程序猿

计算机编程普及课程,视频:https://space.bilibili.com/55410301/#/channel/detail?cid=49491

全部
关键字



帮助

反馈