MVC入门学习笔记(二)

二.页面传值

   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传过来的值了

   


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


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/mane_yao/archive/2010/07/07/5718143.aspx

原文地址:https://www.cnblogs.com/mane/p/1830074.html