zoukankan      html  css  js  c++  java
  • ASP.net MVC入门及Razor语法

    一、MVC入门:

         1、MVC简介

         约定大于配置

         2、MVC访问流程

                               

                      csthml模板(razor模板)就是简化HTML的拼接的模板,最终还是生成html给浏览器显示,不能直接访问cshtml文件。

    二、Razor语法:

                 1、 @启动的区域为标准的C#代码,其他部分是普通的html代码

                 2、 用法:

                       a) @{string a="abc";}  @a @{代码块}   有标签就是html代码;

                          总结:@就是C#,<a></a> 就是html ;

                                      如果想让被识别成html的当成C#,那就用@()   

                                      如果想让被识别成C#的当成html 就用<span></span> ,如果不想生成额外的标签,就用<text></text>

                                      属性的值如果以“~/”开头会进行虚拟路径处理

                                      属性值如果是bool类型,如果是false 就不输出这个属性,如果是true就输出“属性名=属性名”   <input type="checkbox"  checked="@b1" >

    三、 var 匿名类型

                /*
                 class Myp
                 {
                     public int Age { get; set; }
                     public string Name { get; set; }
                  }
                     Myp p = new Myp();
                     p.Name = "chen";
                     p.Age = 12;
                 */
    
                var p = new { Name = "chen", Age = 12 };

                匿名类型的属性是只读的,匿名类型是internal 类型,无法跨程序集

    四、Controller 给view传递数据的方式:

        1、 ViewData :   键值对从传递数据      

            public ActionResult Index()
            {
              
                ViewData["name"] = "chen";  //键值对传递
                ViewData["age"]=12;
                return View();
            }       
        <body>
            <p>
              <!--C#方法接收-->
              @ViewData["name"]  <br />
              @ViewData["age"]   <br />
            </p>
    
        </body>

         2.  ViewBag:  ViewBag是dynamic类型的参数,是对ViewData一个动态类型的封装,用起来更方便和ViewData共同操作一个数据。

            public ActionResult Index()
            {
               
                ViewBag.name = "chen";
                ViewBag.age = 12;
                
                return View();
            }
        <p>
            <!--C#方法接收-->
            @ViewBag.name  <br />
            @ViewBag.age   <br />
        </p>

          3.   Model 

                 可以在Controller 中通过 return View(model) 赋值 ,然后在cshtml中通过Model属性来访问这个对象;

                 强类型视图:如果在cshtml中通过“@model”类型(注意model小写)指定类型,则cshtml中的Model就是指定的强类型,

                 弱类型视图: 如果没有指定“@model”类型,则cshtml中的Model就是dynamic

                 数据传递建议用 Model传递,并且建议用强类型

  • 相关阅读:
    bzoj 4008 亚瑟王 期望概率dp
    t[..., 1, tf.newaxis]
    Keras learning_phase()和learning_phase_scope()
    Keras Sequential模型和add()
    Keras克隆层
    Keras搭建一个Wide & Deep 神经网络
    1 链表的数据结构
    海康威视2017软件精英挑战赛初赛题目
    2016年倒计时两天
    可自定义片头的腾讯视频无广告可全屏调用代码
  • 原文地址:https://www.cnblogs.com/fuyouchen/p/9366473.html
Copyright © 2011-2022 走看看