创建视图
     返回给客户端的HTML代码最好通过视图指定。视图都在Views文件夹中定义。ViewsDemo控制器的视图需要一个ViewsDemo子目录,这是视图的约定。
     可以把多个控制器使用的视图(以及多个视图使用的特殊部分视图)放在Shared目录中。
     在代码编辑器中选择Index方法右键单击,选择Add|View命令创建视图。
     向视图传递数据:
控制器和视图运行在同一个进程中。视图直接在控制器内创建,这便于从控制器向视图传递数据。可使用ViewDataDictionary。更简单的语法是使用ViewBag属性。ViewBag是动态类型,运行指定任何属性名称,以向视图传递数据:
        public ActionResult PassingData()
        {
            ViewBag.MyData = "Hello from the controller";

            return View();
        }
为访问控制器传递的数据,可以使用类似的方式使用ViewBag。类似于Controller基类,ViewBag属性在视图的基类WebViewPage中定义:
< body>
    <div>
        <div> @ViewBag. MyData</div >

    </div>
</ body>
 

Razor语法:Razor使用@自付作为迁移自付。@字符后的代码是C#代码。Razor可以自动检测到C#代码的结束位置。
使用Razor语法时,需要区分返回值的语句和不返回值的方法。返回的值可以直接使用。
     如果调用没有返回值的方法,或者指定其他不返回值的语句,需要使用Razor代码块:下面定义一个字符串变量:
            @{
                string name = "Angela" ;
            }
使用迁移字符,即可通过简单的语法使用变量:
          <div> @(name ),Stephanie</div >
foreache块也可以定义Razor代码块           
            @foreach (var item in Model)
            {
                <li style=" font-size: 50px">@item.Text</li >
            }
 
 

强类型视图
使用ViewBag向视图传递数据只是一种方式。另一种方式是向视图传递模型。
这里创建了Menu想的一个新列表,并把该列表传递给基类Controller的View方法。
        public ActionResult PassingAModel()
        {
            var menus = new List< Menu>
            {
                new Menu {Id=1,Text="Schweinsbraten mit Knodel und",Price=6.9,Category= "Main"},
                new Menu {Id=2,Text="Shanghai is good",Price=6.9,Category= "Vegetarian"},
                new Menu {Id=3,Text="Beijing huanyingni",Price=6.9,Category= "Main"},
            };
            return View(menus);
        }
 
动作方法内的信息可以作为模型在视图内使用:
@using MVCtest.Models
@model IEnumerable< Menu>
@{
    Layout = null;
}
<!DOCTYPE html>
<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title >PassingAModel</ title>
</head>
<body>
    <div >
        <ul>
            @foreach (var item in Model)
            {
                <li style=" font-size: 50px">@item.Text</li >
            }
        </ul>
    </div >
</body>
</html>

ASP.NET MVC学习笔记 第二天的更多相关文章

  1. ASP.NET MVC 学习笔记-2.Razor语法 ASP.NET MVC 学习笔记-1.ASP.NET MVC 基础 反射的具体应用 策略模式的具体应用 责任链模式的具体应用 ServiceStack.Redis订阅发布服务的调用 C#读取XML文件的基类实现

    ASP.NET MVC 学习笔记-2.Razor语法   1.         表达式 表达式必须跟在“@”符号之后, 2.         代码块 代码块必须位于“@{}”中,并且每行代码必须以“: ...

  2. ASP.NET MVC 学习笔记-7.自定义配置信息 ASP.NET MVC 学习笔记-6.异步控制器 ASP.NET MVC 学习笔记-5.Controller与View的数据传递 ASP.NET MVC 学习笔记-4.ASP.NET MVC中Ajax的应用 ASP.NET MVC 学习笔记-3.面向对象设计原则

    ASP.NET MVC 学习笔记-7.自定义配置信息   ASP.NET程序中的web.config文件中,在appSettings这个配置节中能够保存一些配置,比如, 1 <appSettin ...

  3. ASP.NET MVC学习笔记-----Filter2

    ASP.NET MVC学习笔记-----Filter(2) 接上篇ASP.NET MVC学习笔记-----Filter(1) Action Filter Action Filter可以基于任何目的使用 ...

  4. ASP.NET MVC学习笔记-----Filter

    ASP.NET MVC学习笔记-----Filter(1) Filter类型 接口 MVC的默认实现 Description Authorization IAuthorizationFilter Au ...

  5. ASP.NET MVC学习笔记-----Filter(2)

    接上篇ASP.NET MVC学习笔记-----Filter(1) Action Filter Action Filter可以基于任何目的使用,它需要实现IActionFilter接口: public ...

  6. ASP.NET MVC 学习笔记(1)

    从头开始系统地学习ASP.NET MVC 为什么要学习ASP.NET MVC?原因很多,可以先来看一下最早的ASP.NET WebForm的一些缺点: 传说中面试经常要问到的ASP.NET WebFo ...

  7. ASP.NET MVC 学习笔记-2.Razor语法

    1.         表达式 表达式必须跟在“@”符号之后, 2.         代码块 代码块必须位于“@{}”中,并且每行代码必须以“:”结尾.代码块中定义的变量可能会被同一个域中的其他块使用. ...

  8. ASP.NET MVC学习笔记(一) 从路由开始创建mvc

    之前一篇写一半发现版本太老了,是基于mvc2的. 两本参考书编写的顺序各方面都不太一样.决定重新写一篇. 我这篇文章基于mvc5,vs2015 参考书:Will保哥的ASP.NET MVC4开发指南 ...

  9. ASP.NET MVC 学习笔记-4.ASP.NET MVC中Ajax的应用

    Ajax的全名为:Asynchronous Javascript And XML(异步 JavaScript 和 XML),是指一种创建交互式网页应用的网页开发技术.Ajax技术首先向Web服务器发送 ...

随机推荐

  1. Python unittest第二篇:测试夹具

    关于测试夹具,我们知道,以类为对象的话,在python里对应的方法分别是test_isupper.test_upper, 那么以测试case为单位呢? 这时候,就要提到我们的setup()和tearD ...

  2. 安卓手机移动端Web开发调试之Chrome远程调试(Remote Debugging)

    一.让安卓打debug模式的apk包 二.将电脑中的chrome升级到最新版本,在chrome浏览器地址栏中输入chrome://inspect/#devices: 在智能手机还未普及时,移动设备的调 ...

  3. logrotate运行时间指定

    Edit in /etc/crontab the line that says 25 6 * * * root test -x /usr/sbin/anacron || ( cd / &&am ...

  4. FZU_1894 志愿者选拔 【单调队列】

    1 题面 FZU1894 2 分析 单调队列的典型引用 需要注意的是在用维护辅助队列的时候,$L$和$R$的初始化都是0时,队列第一个数就是$L$,最后一个数就是$R-1$. 3 AC代码 #incl ...

  5. 【性能测试】:oracle数据库的监控方式

    一,[前提]:登陆操作系统后,需要切换到SQLPLUS的命令行模式:sqlplus / as sysdba 二,[监控步骤]:开始时执行一次:SQL>exec DBMS_WORKLOAD_REP ...

  6. Scala 中使用 akka system 的 scheduler 的例子

    这是在scala控制台直接执行的例子.   import akka.actor._ import scala.concurrent.duration._ import scala.concurrent ...

  7. Mac下安装eclipse(Mac 10.12/JDK/tomcat)

    1.到官网https://www.eclipse.org/downloads/eclipse-packages/下载安装包 2.安装 注意:安装ecllipse时一定要安装JDK先,最新版本的ecli ...

  8. mono for android 百度map binding项目(转)

    好丫小子之前发布过百度地图android SDK的mono for android绑定dll,许多朋友看过之后说想理解是怎么绑定的,现我把绑定的代码发出来. 针对2.1.2版本百度地图android ...

  9. 【HADR】常见的问题

    [hadrpri@oc0644314035 ~]$ db2 start hadr on db org as primary SQL1768N  Unable to start HADR. Reason ...

  10. Tomcat8-启动脚本分析

    1. Tomcat也是一个java程序 最终的入口启动文件:org.apache.catalina.startup.Bootstrap 最后一条命令: start "Tomcat" ...