MVC的简单初步学习(2)
今天似乎一切是正常的,我们的课依旧在进行着,但是恍惚脑海中并没有那样的平静,不知道在想些什么?而且今天是学习MVC的初步开始,我应该认真地学习才是正确的啊。但是我并不糊涂,今天是周一,也就是刚开始上课的第二天,因为我意识到我接下来的课还是重中之重那,但是复习也是很有必要的,面对那些三个多月学习完的课程,我能说现在的我已经找不到方向?
其实已经想过,前几个月无论学习多久关键的时刻还是在最后的练习项目时期,这是一个提高急速的时期,也是在这个时间一点也不能懈怠,让我出乎意料的是现在的我矛盾啦,不知道友友们在这个关键的时刻是怎么做的?我希望友友帮我想一下。
思想想的多,但是还是要安静下来总结今天学习的课程,纵然万分焦虑不如犹得一丝清净,先看眼前:
一.MVC小练习
首先我们创建好MVC空项目,然后开始自己创建控制器、视图和model,在这里简单的完成一个小实例。
(1).Index.cshtml页面
(2).join.cshtml页面
(3).Thanks.cshtml页面
(4).user.cs文件
(5).HomeController.cs文件
- public class HomeController : Controller
- {
- public ActionResult Index()
- {
- return View();
- }
- /// <summary>
- /// 以get的方式接收
- /// </summary>
- /// <returns></returns>
- public ActionResult join()
- {
- return View();
- }
- /// <summary>
- /// 以form的方式接收
- /// </summary>
- /// <param name="user">实体类model</param>
- /// <returns></returns>
- [HttpPost]
- public ActionResult join(User user)
- {
- if (ModelState.IsValid) //调制解调器的状态:有效
- {
- return View("Thanks", user); //转到视图Thanks
- }
- else
- {
- return View();
- }
- }
- }
上面就是实现一个小程序的全部过程,其实上面涉及到的知识点还是有那么几个的:
<1>.在html页面想要使用model中的属性传参就在建立view时间建立强类型的view;
<2>.在html中的参数绑定变量和C#语言的几个方法;
<3>非空验证在这里需要注意的几个知识点.
一是由上面的user类可知道我们需要在属性前面添加[Required]即可;二是我们需要在html中调用Html.ValidationSummary();即可;三就是我们需要判断一下是否有效,即如上所示的ModelState.IsValid即可。
二.初步认识ActionResult的几个子类
- public class HomeController : Controller
- {
- /// <summary>
- /// 当返回的view和Controller的方法名不同,需要指出view名字,寻找页面
- /// </summary>
- /// <returns>ActionResult的视图</returns>
- public ActionResult Index()
- {
- return View("Index1");
- }
- /// <summary>
- /// ViewResult是ActionResult的子类,所以返回的视图寻找页面
- /// </summary>
- /// <returns></returns>
- public ViewResult Index()
- {
- return View("Index1");//同上
- }
- /// <summary>
- /// 重定向view页面,但是只寻找Controller中的Index1方法,并不寻找页面
- /// </summary>
- /// <returns></returns>
- public RedirectResult Index()
- {
- return RedirectPermanent("Index1");
- }
- /// <summary>
- /// 路由重定向,仅仅寻找方法
- /// </summary>
- /// <returns></returns>
- public RedirectToRouteResult Index()
- {
- //return RedirectToRoute(new { controller = "Home", action = "Index1" });
- return RedirectToAction("Index1");
- }
- /// <summary>
- /// 返回夜歌Json串
- /// </summary>
- /// <returns></returns>
- public JsonResult JsonReoult()
- {
- return Json(new { msg = "", age = }, JsonRequestBehavior.AllowGet);
- }
- }
上面的几个类是我们在需要返回一个怎样的页面时间调用那个方法即可。
三.路由设置
- public static void RegisterRoutes(RouteCollection routes)
- {
- //传参的方式有两种,controller指的是控制器的名字,action返回视图名字
- routes.MapRoute("", "{controller}/{action}/{id}", new { controller = "Home", action = "Index", id =UrlParameter.Optional });
- routes.MapRoute(
- name: "MyRoute",
- url: "{controller}/{action}",
- defaults: new { action = "Index" }
- );
- }
在这里路由设置其实就是我们在url地址栏中输入的地址,这里一般的为/Home/Index,但是我们也可以根据实际情况设置即可。
今天就写到这里啦,似乎MVC的知识点很多的,我会继续努力的,给自己信心,加油!
MVC的简单初步学习(2)的更多相关文章
- Spring MVC之简单入门
一.Spring MVC简介: 1.什么是MVC 模型-视图-控制器(MVC)是一个众所周知的以设计界面应用程序为基础的设计模式.它主要通过分离模型(Model).视图(View)及控制器(Contr ...
- 老周的ABP框架系列教程 -》 一、框架理论初步学习
老周的ABP框架系列教程 -- 一.框架理论初步学习 1. ABP框架的来源与作用简介 1.1 简介 1.1.1 ABP框架全称为"ASP.NET Boilerplate ...
- 初步学习python
自计算机诞生以来,也伴随着计算机语言的诞生,现在,全世界的编程语言有600多种,但流行的编程语言也就20多种. Java和C一直占据着前两名.但是近年来伴随着人工智能的发展,Python发展迅猛,以其 ...
- 语法分析器初步学习——LISP语法分析
语法分析器初步学习——LISP语法分析 本文参考自vczh的<如何手写语法分析器>. LISP的表达式是按照前缀的形式写的,比如(1+2)*(3+4)在LISP中会写成(*(+ 1 2)( ...
- 状态保持以及AJAX的初步学习
嘿嘿,今天学习的有点迷茫哦,主要学习把验证码使用在登录页面时间的一些逻辑,学习这个时间并没有那么的迷惑哦,可是自己写程序时间倒是有点反应迟钝,不过还好总是在最后搞清楚啦,另外就是一步一步的学习是接近项 ...
- LinQ的初步学习与总结
嘿嘿,说起来ORM和LinQ,就感觉离我好遥远的,在学校是没有学习的,所以总感觉学习了LinQ就是大神,现在嘛,终于也体会一点,感觉LinQ只是初步学习,没有太难,当然以后使用在项目中就没有这样的简单 ...
- Android NDK开发及OpenCV初步学习笔记
https://www.jianshu.com/p/c29bb20908da Android NDK开发及OpenCV初步学习笔记 Super_圣代 关注 2017.08.19 00:55* 字数 6 ...
- VirtualBox上LInux命令初步学习
大二的寒假已经接近了尾声,寒假期间我初步使用了VirtualBox虚拟机软件,并安装了ubuntu的操作系统进行了Linux语言的学习.然而寒假期间的学习没有太多的计划,纯粹是为了完成作业而应付性的学 ...
- React初步学习-利用React构建个人博客
React初步学习-利用React构建个人博客 用React和Webpack写了一个很简单的个人博客,主要是想要熟悉一下react中各种基本基本属性及方法的使用.在构建过程中碰到不少问题,通过阅读官方 ...
随机推荐
- JAVA中如何用接口实现多继承和多态 (非常好)
---------------------------------------------------------------多态1.JAVA里没有多继承,一个类之能有一个父类.而继承的表现就是多态. ...
- 分享:10 大顶级开源 ERP 系统
10 大顶级开源 ERP 系统 企业资源规划(ERP)和客户关系管理(CRM)系统现在已经成为各种组织和企业的必需品,通过它们,可以轻松实现企业的信息数据标准化.系统运行集成化.业务流程合理化.绩效监 ...
- JUnit介绍,JUnit是什么?
JUnit是什么? JJUnit是用于编写和运行可重复的自动化测试的开源测试框架, 这样可以保证我们的代码按预期工作.JUnit可广泛用于工业和作为支架(从命令行)或IDE(如Eclipse)内单独的 ...
- Radix-64编码简介
本文介绍Radix-64编码,PGP和S/MIME均使用了Radix-64编码技术,rfc4880的Chap 6有关于Radix-64的详细描述. Radix-64编码基于Base64编码技术,由两部 ...
- Qt SDK的x64与x86版本号以及与VS的配合
今天遇到一个奇怪的问题.我用Qt的64位版本号,动态载入一个SDK的dll,不管怎样都是载入失败.QLibrary也没什么有价值的信息. 实在没辙,就用VS2013写了个小程序,用LoadLibrar ...
- Docker镜像相关
一.中间镜像 通过持续集成工具Jenkins构建Docker镜像并运行容器,采用的是Docker Compose来进行编排构建运行的.但是每次构建完毕以后通过docker images命令查询,可以发 ...
- 【NLP】文本相似度
http://www.ruanyifeng.com/blog/2013/03/cosine_similarity.html
- Bat注释符号
打开命令显示:echo on关闭命令显示:echo off, @ echo off, (加@表示连echo off都不显示,不然会显示出echo off的命令) rem : 注释, 表示不执行rem ...
- QT编译错误:member access into incomplete type 'QMouseEvent'
想在QT程序中使用鼠标事件,添加重载的响应函数,并实现后,一直提示 member access into incomplete type 'QMouseEvent' 既然使用了QMouseEvent类 ...
- spring核心之AOP学习总结二
一:springAOP常用的注解 @Aspect:声明方面组件 @Before:声明前置通知 @After-returning:声明后置通知 @After:声明最终通知 @Around:声明环绕通知 ...