NHaml это .NET реализация популярного Rails Haml. Поэтому, сначала давайте попробуем понять что такое Haml. Расшифровывается он как XHTML Abstraction Markup Language, то есть это язык разметки для упрощёной генерации XHTML. В нашем арсенале уже имеются средства для достижения подобных целей: XSLT, ASP.NET Web Forms или даже лучше ASP.NET MVC и др. NHaml предоставляет альтернативный способ построения разметки ваших страниц, причем если сам XHTML весьма многословный язык, то NHaml пронизан духом лаконичности. Сокращения, ключевые слова, обозначение блоков — все направлено на сокращение объема кода при максимальном сохранении его ясности. Давайте рассмотрим следующий кусок кода:
ASP.NET MVC (винегрет из кода и html)
Эту же разметку (причем сохранив логику ее построения) можно написать и так...
Читать полностью...
ASP.NET MVC (винегрет из кода и html)
<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" AutoEventWireup="true" <br> CodeBehind="List.aspx" Inherits="MvcApplication5.Views.Products.List" Title="Products" %><br><asp:Content ContentPlaceHolderID="MainContentPlaceHolder" runat="server"><br> <h2><%= ViewData.CategoryName %></h2><br> <ul><br> <% foreach (var product in ViewData.Products) { %><br> <li><br> <%= product.ProductName %> <br> <div class="editlink"><br> (<%= Html.ActionLink("Edit", new { Action="Edit", ID=product.ProductID })%>)<br> </div><br> </li><br> <% } %><br> </ul><br> <%= Html.ActionLink("Add New Product", new { Action="New" }) %><br></asp:Content>
Эту же разметку (причем сохранив логику ее построения) можно написать и так...
Читать полностью...