Pages

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