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中各种基本基本属性及方法的使用.在构建过程中碰到不少问题,通过阅读官方 ...
随机推荐
- 关于Unity中红外线瞄准的效果实现
今天做一个FPS游戏的时候,由于我做的是第三人称的射击,所以需要一个枪的红外线瞄准的效果. 一开始我在枪上挂一个很细很长的聚光灯,瞄准远处物体的时候,看起来有点红外线的样子,但是靠近之后光线就变成一个 ...
- Ajax+Jsp+servlet+json技术的使用
Ajax+Jsp+servlet+json技术的使用 在使用json的时候,记得必须导入如下几个.jar包,最好是手动复制.jar包只lib路径下,否则可能出现异常. commons-beanutil ...
- JDBC更新数据实例
在本教程将演示如何在JDBC应用程序中,更新数据库的一个表中数据记录. 在执行以下示例之前,请确保您已经准备好以下操作: 具有数据库管理员权限,以在给定模式的数据库表中更新数据记录. 要执行以下示例, ...
- JavaBean递归拷贝工具类Dozer
JavaBean深度拷贝利器——Dozer DozerBeanMapper对象之间相同属性名赋值 DozerBeanMapper + 对象转Map方法 Dozer(JavaBean的映射工具)开发手册
- 导入Maven项目后,Eclipse提示“Missing artifact ”类的错误
导入Maven项目后,Eclipse提示“Missing artifact ”类的错误 标签: Maven Missing art 2016-08-15 16:05 679人阅读 评论(0) 收藏 举 ...
- VMware虚拟CentOS 6.5在NAT模式下配置静态IP地址及Xshell远程控制配置
VMware虚拟CentOS 6.5在NAT模式下配置静态IP地址及Xshell远程控制配置 标签: LinuxXshellCentOS 2016-10-15 04:58 127人阅读 评论(0) 收 ...
- 弹出输入框后,将listview内容遮住,解决方案
转自http://blog.csdn.net/silence_cdsn/article/details/7987063 更改listview的布局属性 之前的布局: <ListView andr ...
- 常用RAID简介_001
RAID定义 RAID(Redundant Array of Independent Disk 独立冗余磁盘阵列)技术是加州大学伯克利分校1987年提出,最初是为了组合小的廉价磁盘来代替大的昂贵磁盘, ...
- 文本处理三剑客之 sed详解
1.简介 sed是非交互式的编辑器,它不会修改文件,除非使用shell重定向来保存结果.默认情况下,所有的输出行都被打印到屏幕上. sed编辑器逐行处理文件(或输入),并将结果发送到屏幕.具体过程如下 ...
- PHI 数据库简介
PHI是一个致病菌的数据库,截止到2017年8月1号为止,最新的版本是4.3,数据库中收录了实验验证过的致病菌的信息,其中有176个来自动物的致病菌,227个来自植物的致病菌,3个来自真菌的致病菌; ...