ASP.NET MVC Razor语法及实例
2024-09-02 07:03:41
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 = "顾问详细信息";
}
最新文章
- STemwin汉字显示
- 关于Window Server2008 服务器上无法播放音频文件的解决方案
- Winform API ";user32.dll";中的函数
- MPlayer-ww 增加边看边剪切功能
- notebook kernels
- 苹果开发 笔记(80)升级IOS 9 和 XCode 7 引起的问题记录
- Node.js快速入门
- Android Paint之 setXfermode PorterDuffXfermode 讲解
- Redis解决强制关闭Redis快照导致不能持久化错误
- 8.多线程和Socket通信
- 存储过程与SQL语句如何选择
- android 中判断WiFi是否可用的可靠方法 ,android 是否联网
- Painter&#39;s Problem poj1681 高斯消元法
- 基于ubuntu16.04部署IBM开源区块链项目-弹珠资产管理(Marbles)
- OpenCV和selenum实现点击操作
- kettle查询-2
- DUMP102 企业级电商FE
- left join on and 与 left join on where的区别
- Linux 命令整理-ps
- Linux安装Tomcat-Nginx-FastDFS-Redis-Solr-集群——【第十一集之安装FastDFS】