本章主要让读者对mvc有个认识,以便吸引读者可以感觉到mvc架构的好处。主要的知识点:M/V/C各个部分的都有,可是都是粗略的提到,同时最后还介绍了mvc中的一个发邮件静态类WebMail。浏览器
一、关于View的返回值:咱们能够返回字符串和ViewResult对象之外的其余操做方法的结果。例如,若是咱们返回RedirectResult,咱们会致使浏览器重定向到另外一个URL。若是咱们 返回HttpUnauthorizedResult,咱们强制用户登陆。这些对象统称为action的结果,他们都来自ActionResult类。(C层)架构
二、ViewBag是一个动态对象,您能够指定任意属性,随后将使这些值可在任何视图中呈现。(使用方法是:ViewBag.Geeting=="")。(C层和V层)mvc
三、关于HttpGet和HttpPost,通常当用户第一次请求一个控制器中的方法(Home/RsvpForm),也就是要从(Home/Index)页面转到RsvpForm页面时,使用的标签是HttpGet。当自身提交model时,一般是验证model是否符合要求,若是符合要求转到另一个页面,若是不符合,经过自身的model保持原有的数据,此时用HttpPost。(C层、V层、M层)ide
四、view保持数据的原理是使用model 的数据绑定。在添加View层,使用的是model的强类型,model中的各个字段去对应View的表单,这样也使提交数据时,表单的数据和model相匹配。(C层、M层)网站
五、邮件发送。spa
直接上码了:code
@{ try { WebMail.SmtpServer = "smtp.qq.com"; WebMail.SmtpPort = 25; WebMail.EnableSsl = false; //下面的用户名和密码与from是一致的,一般是网站的邮箱 WebMail.UserName = "92437410"; WebMail.Password = "*******"; WebMail.From = "92437410@QQ.com"; //发送到490204371这个邮箱,这个应该是主办人的邮箱 WebMail.Send("49020431@qq.com", "RSVP Notification", Model.Name + " is " + ((Model.WillAttend ?? false) ? "" : "not") + "attending"); } catch (Exception ex) { @:<b>Sorry - we couldn't send the email to confirm your RSVP.</b> } }
本章源码:orm
同时学到了他们写书的一个方式:那就是先给把给你体验一把,让你感受很爽,而后再逐渐的切入整题,这样你很容易的去接受一个新事物。对象