MVC开发笔记
文章目的:
- 记录写mvc的点点滴滴,以便后期查阅,和知识点的回顾。
为何写这篇文章
- 之前写过MVC,由于目前所在单位不使用MVC,一段时间之后,觉得自己与这个程序员世界脱轨了,自己想要拾起来。于是开始写自己的Fly.MVCBlog
不在于使用多少先进的技术,只为无聊时敲敲代码,给自己找点事情做,顺便也不要忘了学习。
笔记列表:
2013年7月14日
在Controller中呈现另一个Controller的视图。
有两种方法:
一:使用@Html.Partial(“view名称”),此方法需要输入viewModel(当然,这个view不需要使用model或直接检测某个session里面的值也可以不写),此方法和微软的用户登录合到一起很好用,在新建mvc项目时,使用的就是这个东东。
二:使用@Html.Action(“Action名称”),此方法直接调用Controller中的Action,
优点:可以将处理(如获取数据库等操作直接放到这个Action中,不需要像第一个方法还要在这边获取)。
缺点:二次访问服务器,增加服务器的负荷。
2013年7月15日
一段时间不写MVC代码,感觉真的不会了。也许是当时学的时候都没有学的牢靠吧。
今天遇到的问题都是很琐碎,很小的问题,在以前,这不是问题。可是现在,我不得不花时间去查询,然后解决。
不知道是自己记忆力的下降或是什么,总之感觉很糟糕~~~~~
使用 数据注解
1、添加命名空间(引用Assembly)
using System.ComponentModel.DataAnnotations; using System.ComponentModel;
其中 Disply 数据注解在ComponentModel命名空间中,
别的如:StringLength Required在DataAnnotaions命名空间中。
2、显示在model中 Display数据注解的字符
如:在Model类型中
public class Article { [StringLength(100, MinimumLength = 50, ErrorMessage = "标题不能长度不能大于100")] [Required] [Display(Name = "标题")] public string Title { get; set; } [StringLength(10000, MinimumLength = 1, ErrorMessage = "太长了")] [Display(Name = "内容")] public string ArticleContent { get; set; } public DateTime AddDate { get; set; } }
在前台页面上使用Razor语言显示“标题”,需要两步:
一)添加model。@model Assembly
二)
@Html.DisplayNameFor(model => model.Title)必须使用DisplayName才可以
3、HtmlHelper中的 几种显示控件的方法区别
首先,每个方法是有区别的,需要显示什么控件 必须调用对应的方法(今天太糟糕了,自己连这个都忘记了,现在知道,仅记录,以待查看~!)
@Html.DisplayNameFor(model => model.Title) @Html.EditorFor(model => model.Title) @Html.CheckBoxFor(model=>model.ArticleContent.Length>0) @Html.DisplayFor(model=>model.Title) @Html.DisplayTextFor(model=>model.Title) @Html.DropDownListFor(model=>model.Title) @Html.EditorFor(model=>model.Title) @Html.HiddenFor(model=>model.AddDate) @Html.LabelFor(model=>model.Title) @Html.ListBoxFor(model=>model.Title) @Html.NameFor(model=>model.Title) @Html.PasswordFor(model=>model.Title) @Html.RadioButtonFor(model=>model.Title) @Html.TextAreaFor(model=>model.Title) @Html.TextBoxFor(model=>model.Title) @Html.ValidateFor(model=>model.Title) @Html.ValidationMessageFor(model=>model.Title) @Html.ValueFor(model=>model.Title)
方法很多,来不及一个个查,在今后几天会查清楚,并作出解释
2013年7月17日
使用@Url.Content 来传递文件路径的值
使用Bungle文件的配置来加载js和css。
使用模板来简化前台页面的开发