您的位置:首页 > asp.net > MVC >

MVC入门学习笔记(二)

2012-04-18 13:41 来源:未知编辑:admin点击:

二.页面传值

 

MVC 模式一个典型的特征是严格的功能隔离。Model模型、Controller 控制器和 View视图各自定义了用和职责,且相互之间定义好的方式进行沟通。这有助于提升测试性和代码重用。 当 Controller 决定呈现HTML 响应给客户端是,它负责显式传递给View 模板所有需要的数据。View 模从不执行任何数据查询或应用程序逻辑 – 仅仅负责呈现 Model或 Controller 传递过来的数据。

1.ViewData[]字典:


1.简单的传值

 

a.首先我们在控制器HomeController.cs中创建一个ViewData[]字典:

public ActionResult Index()
{
ViewData["strValue"] = "这是一个传递的值";//这里是我们传递的ViewData[]

return View();
}

b.然后我们就可以在相对应得Index.aspx中写上:

<%: ViewData["strValue"] %>

c.编译运行,我们就可以看到在View页面中已经可以看到我们在Controller传过来的值了


看到了吗?用这样的传值方法就是这样简单

 

2.复杂的传值

 

a.当然,我们不仅仅可以为一般的值类型进行传值,也可以为引用类型进行传值,在控制器HomeController.cs中创建一个ViewData[]字典:

public ActionResult Index()
{
List<string> s=new List<string>();
s.Add("Mane");
s.Add("是我");
ViewData["strValue"] = s;

return View();
}

b.然后我们就可以在相对应得Index.aspx中写上:

<% foreach (string str in ViewData["strValue"] as List <string>){ %>
<%=str %>
<%} %>

c.编译运行,我们就可以看到在View页面中已经可以看到我们在Controller传过来的值了


其实传值远不只这些,还可以为类,等等进行传值,这里不做介绍,下面看另外的一种传值模式