Hát pl. ezért:

 

<%Html.GridView<Employee>(
    this.ViewData.Model,
    data => { %>
        <table class="grid" cellpadding="0" cellspacing="0">
    <% },
    (item, css) => { %>
        <tr class="<%=css%>">
            <td><%=Html.ActionImage<HomeController>(c => c.Edit(item.Id), "~/Content/edit.gif", "Edit", null)%></td>
            <td><%=Html.ActionImage<HomeController>(c => c.Delete(item.Id), "~/Content/delete.gif", "Delete", null)%></td>
            <td>&nbsp;</td>
            <td><%=item.Name%></td>
            <td><%=item.Email%></td>
        </tr>
    <% },
    "item",
    "item-alternating",
    item => { %>
        <%using (Html.Form<HomeController>(c => c.Save(item.Id), FormMethod.Post, new { id = "editForm" })) {%>
            <tr class="item-edit">
                <td><%=Html.SubmitImage("save", "~/Content/ok.gif", new { alt = "Update" })%></td>
                <td><%=Html.ActionImage<HomeController>(c => c.Index(), "~/Content/cancel.gif", "Cancel", null)%></td>
                <td>&nbsp;</td>
                <td><%=Html.TextBox("Name", item.Name)%></td>
                <td><%=Html.TextBox("Email", item.Email)%></td>
            </tr>
        <% } %>
    <% },
    data => { %>
        </table>
<% });%> 

Ezt nagyon elcseszték. Értem én, hogy anonymous method és lambda expression és extension method, és hogy ez mennyire cool... De akárhogyan is nézem és győzködöm magam, ez bizony egy scriplet. Egy scriplet, méghozzá a legnyomorultabb fajtából...Volt már 1x-2x szerencsém a scriplet pokolhoz még php majd később java fejlesztő koromban, és köszönöm szépen többet nem kérek belőle. Pedig nagy reményeket fűztem az ASP.NET MVC-hez. De ez itt fönt már nem az én utam és nem ASP.NET. Részemről marad a WebForms és a repository pattern a szeparációra.Kár érte... :(