1.初学MVC3学习笔记1
一.首先我们新建了一个MVC3的工程项目,并且在Controllers的文件夹添加了新的类然后在里面写方法
1.第一个方法是public string Index()这只是返回一个string类型的字符串,并没有对视图进行任何的渲染,给我感觉就像WEBFORM下地response这个方法一样
2.第二个方法是将第一个方法的返回值string改为ViewResult,最后添加了一个return view(),view创建了一个给视图相应的对象,然后我们就在方法的内部右击添加视图,添加的视图大部分都是HTML,如下
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<title>Index</title>
</head>
<body>
<div>
@ViewBag.tar ,HI,HELLO!
<p>We're going to have an exciting party.<br />
(To do: sell it better. Add pictures or something.)</p>
@Html.ActionLink("RSVP Now","RsvpForm")
</div>
</body>
</html>
然后在属于C#的部分会有一个@,在控制类和视图之间还有一种以ViewBag的方法传递参数,给我感觉@Html这对象好是用来制作控件的,就像上面的
@Html.ActionLink("RSVP Now","RsvpForm")第一个参数是名字,第二个参数是方法名在Controls类里面写
3.接下来,我们写在Model里面添加了一个类,上面写了一些属性,这时给我感觉与之前的三层架构的Model好像有点类似,好像都只是个容器?
但是是不是一样呢?还是不清楚的.在写完Model之后我们需要进行一次生成,因为在之后的生成强制类型视图里面会用到,
4.我们继续写control里面的方法,RsvpForm(),并且为该方法添加视图,我们在htmlcs里面使用了htmlhelper对象,采用了BeginForm的方法
,制造出一个表单,这里默认的提交方式是POST,当我们在control里面这样写
View Code
1 [HttpPost] //用于被告诉用地是什么方法,一般默认的是HTTPPOST
2 public ViewResult RsvpForm(GuessRespond guestResponse)
3 {
4 if (ModelState.IsValid)
5 return View("thanks", guestResponse);
6 else
7 return View();
8 }
然后很清楚知道当表单是采用POST模式传递时就调用这方法,这方法还有一个传入的参数,该参数就是模型绑定当验证出错的时候我们还保留了之前
的值,模型绑定就有这样的好处,如果通过了验证我们就跳转到另外一个thanks的页面,里面也涉及到了模型的绑定.
模型可以贯穿不同的VIEW,为我们保存数据,还可以为那些需要验证的属性添加验证。
这次的例子几乎都是照着来做的,当然也有通过了自己理解,
二、疑问
如果在controls里面添加多了一个控制类,那么他的机制又是怎么样的呢?自己试过,但是还不会调用,调不出来。而且在cshtml这文件里的代码
也很简单。然后Model还有什么功能?


浙公网安备 33010602011771号