Monday, October 18, 2010

SparkViewEngine

Ho appena aggiornato il mio blog ed ho usato, come il buon Ughetto, sparkviewengine per le view…
Una figata!!!
Mi ha permesso di ottimizzare, ridurre e rendere più leggibile il codice scritto.
Giusto per esempio, questa è una screen della vecchia side bar:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %>
<%@ OutputCache Duration="3600" VaryByParam="none" %>
<%@ Import Namespace="Dexter.Core.Configuration" %>
<%@ Import Namespace="Dexter.Core.Concrete" %>
 
<div class="content-sidebar">
    <div class="content-sidebar-top">
        <div class="content-sidebar-bottom">
            <div class="content-sidebar-inside">
                <a id="rss-feed" title="Syndicate this site using RSS" href="<%=DexterConfiguration.SiteConfiguration.FeedBurnerUrl%>">
                    Subscribe via RSSa>
                <h3>
                    Categoriesh3>
                    
                <ul>
                    <%    for (int i = 0; i < Model.Categories.Count; i++)
                        {%>
                    <li class="cat-item"><a title="<%=Model.Categories[i].Name%>" href="/Categories/Archive/<%=Model.Categories[i].Name.EncodeUrl()%>">
                        <%=Model.Categories[i].Name%>
                    a>
                        <%
                            if (Model.Categories[i].Categories.Count > 0)
                            {%>
                        <ul class="children">
                            <%
                                for (int j = 0; j < Model.Categories[i].Categories.Count; j++)
                                {%>
                            <li class="cat-item"><a title="<%=Model.Categories[i].Categories[j].Name%>" href="/Categories/Archive/<%=Model.Categories[i].Categories[j].Name.EncodeUrl()%>"
                                style="margin-left: 0px;"><span>
                                    <%=Model.Categories[i].Categories[j].Name.EncodeHtml()%>
                                span>a><a class="rss tip" title="<%=Model.Categories[i].Categories[j].Name.EncodeHtml()%>"
                                    href="<%=Model.Categories[i].FeedUrl%>">a>li>
                            <%    }%>
                        ul>
                        <%    }%>
                    <%    }%>
                ul>
                <%    if (Model.RecentPost.Count > 0)
                {%>
                <h3>
                    Recent Postsh3>

e questa è la nuova con sparkviewengine :
<cache expires="System.DateTime.UtcNow.AddMinutes(60)">

    <div class="content-sidebar">
        <div class="content-sidebar-top">
            <div class="content-sidebar-bottom">
                <div class="content-sidebar-inside">
                    <a id="rss-feed" title="Syndicate this site using RSS" href="${DexterConfiguration.SiteConfiguration.FeedBurnerUrl}">Subscribe via RSSa>

                    <h3>Categoriesh3>
                    <ul>
                        <for each="var cat in Model.Categories">
                            <li class="cat-item">
                                <a title="${cat.Name}" href="/Categories/Archive/${cat.Name.EncodeUrl()}">${cat.Name}a>
                                <if condition="cat.Categories.Count > 0">
                                    <ul class="children">
                                        <for each="var lcat in cat.Categories">
                                            <li class="cat-item">
                                                <a title="${lcat.Name}" href="/Categories/Archive/${lcat.Name.EncodeUrl()}"
                                                    style="margin-left: 0px;">
                                                    <span>
                                                        ${lcat.Name.EncodeHtml()}
                                                    span>
                                                a>
                                                <a class="rss tip" title="${lcat.Name.EncodeHtml()}" href="${cat.FeedUrl}">         a>
                                            li>
                                        for>
                                    ul>
                                if>
                            li>
                        for>
                    ul>

                    <h3>Recent Postsh3>

Non credo ci sia da aggiungere altro.
Effettivamente all’inizio c’è un gradino di apprendimento d’affrontare ma non è elevato e, a fronte dello sforzo intrapreso, i risultati sono ottimali.
Si vocifera ci possa essere, da parte dell’autore, la possibilità che il progetto venga abbandonato per questioni politiche; spero vivamente di no, perchè usare MVC con SparkViewEngine
è veramente tanta roba!!!
Ciauz

No comments:

Post a Comment