1.混合HTML与Razor脚本

知识点:(1).cshtml怎样引用访问数据, (2).if  for 与html嵌套

@using System.Data
@using CIIC.TCP.Entity;
@{
List<taut_MenuEntity> MenuList = (List<taut_MenuEntity>)Session["NavigateMenu"];
}
<nav class="navbar-default navbar-static-side" role="navigation">
<div class="sidebar-collapse">
<ul class="nav" id="side-menu">
<li class="nav-header">
<div class="dropdown profile-element">
@Html.ActionLink("Xxx平台", "..\\Login\\FirstPage", new { id = "", loginUserId = ViewBag.loginUserId as string }, new { style = "font-size:large;font-weight:bold" })
</div>
<div class="logo-element">
IN+
</div>
</li>
<!--权限菜单开始-->
@if (MenuList != null)
{
foreach (taut_MenuEntity item in MenuList)
{
if (item.Level == 1)
{
<li class="">
<a href="@item.Url">
<i class="fa fa-th-large"></i><span class="nav-label" data-i18n="nav.dashboard">@item.ModuleName</span><span class="fa arrow"></span>
</a>
<ul class="nav nav-second-level collapse">
@{
List<taut_MenuEntity> SubMenuList = MenuList.FindAll(t => t.ModuleName == item.MenuName && t.Level.Value==2 ).OrderBy(t=>t.OrderId).ToList();
foreach (var subItem in SubMenuList)
{
<li class=""><a href="@subItem.Url">@subItem.MenuName</a></li>
}
}
</ul>
</li>
}
}
}
<!--权限菜单结束-->
</ul>
</div>
</nav>

2.布局相关方法 @RenderSection

部分一:在_Layout.cshtml 中定义待插入的"子模块"占位符

<script type="text/javascript">
@RenderSection("HeadScript", false)
</script>

部分二:在Xxx.cshtml中定义对应的填充块

@section HeadScript{
function del_comfire()
{
if(confirm("确定删除?"))
{
return true;
}
else{
this;
}
}
}

3.模板中的常用方法

@{
ViewBag.Xxx;
}
@Url.Content("Xxx")"  //仅仅生成链接文本
<link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />
<script src="@Url.Content("~/Scripts/jquery-1.4.4.min.js")" type="text/javascript"></script>

4.Html助手方法

@Html.ActionLink("Create New", "Create")
<li>@{Html.RenderAction("CartSummary", "ShoppingCart");}</li>  //参考PartialViewResult
@{Html.RenderPartial(“SomePartial”);//注意有大括号

参考

@{
string message = “<strong>This is bold!</strong>”;
}
<span>@Html.Raw(message)</span>

5.PartialViewResult技术

在模板中调用其它Controller和Action,将其返回结果填充模板,参考Html.RenderAction()方法

6.模板中的小括号语法

如果直接写@rootName.Models将会有编译错误

//视图cshtml中的实验代码和语法现象
@{
string rootName="MyApp";
}
<span>@(rootName).Models</span>

7.Razor的原生Href方法

8.Switch条件判断例子

9.Razor的模板的注释语法以及模板字面值直接输出

10.HTML编码即@HTML.Raw()方法

11.JavaScript编码即@Ajax.JavaScriptEncode()方法

12.在页面里获取当前Action字面值

@{
var curActionName = ViewContext.RouteData.Values["action"] == null ? "" : ViewContext.RouteData.Values["action"].ToString();
ViewBag.Title = "顾问详细信息";
}

ASP.NET MVC Razor语法及实例的更多相关文章

  1. ASP.NET MVC Razor语法

    ASP.NET MVC Razor语法 (一) 关于_ViewStart.cshtml文件     使用Razor模板引擎的话,会自动生成一个_ViewStart.cshtml文件.事实上,_View ...

  2. Asp.net MVC razor语法参考

    Razor语法的快捷参考http://haacked.com/archive/2011/01/06/razor-syntax-quick-reference.aspx/ 只是copy下来便于查阅! I ...

  3. asp.net MVC Razor 语法(1)

    Razor 不是编程语言.它是服务器端标记语言. 什么是 Razor ? Razor 是一种允许您向网页中嵌入基于服务器的代码(Visual Basic 和 C#)的标记语法. 当网页被写入浏览器时, ...

  4. asp.net MVC Razor 语法(2)

    变量是用于存储数据的命名实体. 变量 变量用于存储数据. 变量名必须以字母字符开头,不能包含空格和保留字符. 变量可以是某个具体的类型,指示其所存储的数据类型.字符串变量存储字符串值 ("W ...

  5. asp.net MVC Razor 语法(3)

    编程逻辑:执行基于条件的代码. If 条件 C# 允许您执行基于条件的代码. 如需测试某个条件,您可以使用 if 语句.if 语句会基于您的测试来返回 true 或 false: if 语句启动代码块 ...

  6. ASP.NET没有魔法——ASP.NET MVC Razor与View渲染 ASP.NET没有魔法——ASP.NET MVC界面美化及使用Bundle完成静态资源管理

    ASP.NET没有魔法——ASP.NET MVC Razor与View渲染   对于Web应用来说,它的界面是由浏览器根据HTML代码及其引用的相关资源进行渲染后展示给用户的结果,换句话说Web应用的 ...

  7. MVC Razor 语法(转)

    http://blog.csdn.net/pasic/article/details/7072340 原文地址:MVC Razor 语法(转)作者:panzhaowen_jacki 语法名称 Razo ...

  8. 教你如何在 Javascript 文件里使用 .Net MVC Razor 语法

    摘录 文章主要是介绍了通过一个第三方类库RazorJS,实现Javascript 文件里使用 .Net MVC Razor 语法,很巧妙,推荐给大家 相信大家都试过在一个 View 里嵌套使用 jav ...

  9. Asp.net MVC Razor视图模版动态渲染PDF,Razor模版生成静态Html

    Asp.net MVC Razor视图模版动态渲染PDF,Razor模版生成静态Html 1.前言 上一篇文章我开源了轮子,Asp.net Core 3.1 Razor视图模版动态渲染PDF,然后,很 ...

随机推荐

  1. 9.Selenium+HTMLTestRunner无法生成测试报告(Pycharm)

    1.若编辑器为Pycharm,代码无任何错误,且运行成功,但是无法生成测试报告,原因如下:(本质是编辑器原因) 若光标在如图位置,右键显示为“run 'unittest in XX'”,若是显示这种, ...

  2. div+css制作带箭头提示框效果图(原创文章)

    一直都在看站友们的作品,今天也来给大家分享一个小的效果,第一次发还有点小紧张呢,语言表达能力不是很好,还请见谅…^ 先来个简单点的吧,上效果图 刚开始在网上看到效果图的时候感觉好神奇,当我试着写出来的 ...

  3. Springboot监控之一:SpringBoot四大神器之Actuator之3-springBoot的监控和管理--指标说明

    Spring Boot包含很多其他的特性,它们可以帮你监控和管理发布到生产环境的应用.你可以选择使用HTTP端点,JMX或远程shell(SSH或Telnet)来管理和监控应用.审计(Auditing ...

  4. Java程序开发中的简单内存分析

    首先说明内存总体分为了4个部分, 包括 1.stack segment (栈区存储基本数据类型的局部变量,对象的引用名) 2.heap segment(堆区,一般用于存储java中new 出来的对象) ...

  5. Oracle Sql中输入特殊字符 转义字符

    1.单引号,出现在单引号对中的'号必须成对出现,每对代表一个', 例如select '''' from dual; 结果:' 前后两个'代表正常字符串,中间两个''代表一个',此语句输出结果只有一个'

  6. 问题:table 可否实现对角线;结果:HTML 斜线 表头

    <HTML> <HEAD> <TITLE>斜线表头</TITLE>    </HEAD> <script    Language=&q ...

  7. LNMP 1.5 php-fpm配置文件

    php-fpm配置文件: /usr/local/php/etc/php-fpm.conf    :php-fpm服务的配置文件 /usr/local/php/etc/php.ini       :ph ...

  8. IP及端口号

    IP:代表一台机器 端口号:每一个程序都有一个端口号与之对应 一个域名对应一个虚拟主机

  9. checked多选,取消,反选

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. C语言基础问题总结

    Double 类型用 %f 接受会产生错误,应该用%lf C语言中SIN,COS的参数为弧度,角度应先转换为弧度才能计算,否则出错 三角形的判断条件,任意两边长度和大于第三边 闰年判断条件整百年为40 ...