一、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 = };

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

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

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

        public ActionResult Index()
{ ViewData["name"] = "chen"; //键值对传递
ViewData["age"]=;
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 = ; 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传递,并且建议用强类型

ASP.net MVC入门及Razor语法的更多相关文章

  1. ASP.NET MVC中的Razor语法

    1.Razor的基本语法 @* 多行代码时需要包含在大括号内{}和每句代码后都需要加分号; *@ @{ ViewBag.Title = "Index"; ViewBag.Name ...

  2. .Net MVC 入门之Razor语法

    Razor语法 Razor是以后MVC项目中都需要用的, 所以在学MVC的基础的时候,我们的目标:要了解熟悉Razor页面的语法结构,做到灵活使用,so我们马上开始学习Razor,也请你们多评论和推荐 ...

  3. ASP.NET MVC 入门

    ASP.NET MVC 入门 (Learning ASP.NET MVC) 传统的WebForm发展到如今出现不少的缺陷, 比如为了解决Http的无状态WebForm模式使用了ViewsState来保 ...

  4. Asp.net MVC入门视频教程

    编程开发 > Asp.net视频教程 > Asp.net MVC入门视频教程 > 1.传统web处理方式和mvc处理方式 上传日期:2014-08-16 10:02:45  相关摘要 ...

  5. (转)Asp.Net Mvc视图引擎Razor介绍

    Asp.Net Mvc视图引擎Razor介绍 1.Razor介绍 程序园原创,转载请注明:http://www.kwstu.com/ArticleView/dabaomvc_2014082408205 ...

  6. 25、ASP.NET MVC入门到精通——Spring.net-业务层仓储

    本系列目录:ASP.NET MVC4入门到精通系列目录汇总 上一节,我们已经把项目框架的雏形搭建好了,那么现在我来开始业务实现,在业务实现的过程当中,不断的来完善我们现有的框架. 1.假设我们来做一个 ...

  7. 26、ASP.NET MVC入门到精通——后台管理区域及分离、Js压缩、css、jquery扩展

    本系列目录:ASP.NET MVC4入门到精通系列目录汇总 有好一段时间没更新博文了,最近在忙两件事:1.看书,学习中...2.为公司年会节目做准备,由于许久没有练习双截棍了,难免生疏,所以现在临时抱 ...

  8. ASP.NET MVC 入门8、ModelState与数据验证

    原帖地址:http://www.cnblogs.com/QLeelulu/archive/2008/10/08/1305962.html ViewData有一个ModelState的属性,这是一个类型 ...

  9. ASP.NET MVC 入门系列教程

    ASP.NET MVC 入门系列教程 博客园ASP.NET MVC 技术专题 http://kb.cnblogs.com/zt/mvc/ 一个居于ASP.NET MVC Beta的系列入门文章,有朋友 ...

随机推荐

  1. Codeforces 758D Ability To Convert(区间DP)

    题目链接:http://codeforces.com/problemset/problem/758/D 题意:一个n进制下的数k,其中k不会用字母,如果有A就用10代替了.求k这个数对应的,在10进制 ...

  2. Breaking Biscuits(模板题-求凸边形的宽)

    Breaking Biscuits 时间限制: 1 Sec  内存限制: 128 MB  Special Judge提交: 70  解决: 26[提交] [状态] [讨论版] [命题人:admin] ...

  3. oracle: listener.ora 、sqlnet.ora 、tnsnames.ora的配置及例子

    1.解决问题:TNS或者数据库不能登录.      最简单有效方法:使用oracle系统提供的工具 netca 配置(把原来的删除掉重新配置)     $netca  2.然而,仍有疑问:如何指定'l ...

  4. PowerDesigner 图表导出Excel格式

    快捷方式打开运行界面:ctrl+shift+X '*************************************************************************** ...

  5. leetcode笔记(二)94. Binary Tree Inorder Traversal

    题目描述 (原题目链接) Given a binary tree, return the inorder traversal of its nodes' values. For example:Giv ...

  6. 爬虫学习(十三)——xpath基础学习

    lxml的作用 lxml是HTML.xml的解析器,主要的功能是如何解析和提取HTML和xml数据 lxml和正则一样,也是使用C来实现的,是一款高性能的python HTML/xml解析器,我们可以 ...

  7. Redis 4.0 从节点写入不同步问题

    redis4.0出现了很多新的特性,删除键值unlink,slowlog记录来源ip.内存统计信息等.其中一个重要的同步祭祀是Psync2.psync2主要让redis在从实例重启和主实例故障切换场景 ...

  8. Linux关闭开启防火墙命令

    在外部访问CentOS中部署应用时,需要关闭防火墙. 关闭防火墙命令:systemctl stop firewalld.service 开启防火墙:systemctl start firewalld. ...

  9. Docker自学纪实(三)Docker容器数据持久化

    谈起数据卷 我一直觉得是个枯燥无聊的话题 但是通过今天的实操和阅读 我发现其实并不是 其实就像走夜路 没有光明,第一次都是恐惧 但是如果走的次数多了 或者静下心来去克制恐惧 也许就会驾轻就熟或者等到黎 ...

  10. LeetCode962. 最大宽度坡

    问题:最大宽度坡 给定一个整数数组 A,坡是元组 (i, j),其中  i < j 且 A[i] <= A[j].这样的坡的宽度为 j - i. 找出 A 中的坡的最大宽度,如果不存在,返 ...