1. 程式人生 > >ASP.NET MVC Razor語法及實例

ASP.NET MVC Razor語法及實例

刪除 ava head shtml 參考 module sheet data som

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()方法

ASP.NET MVC Razor語法及實例