我如何在ASP.Net MVC标记中克服对<%%>的恐惧?

Web*_*edi 14 .net asp.net-mvc

所以我完全接受了ASP.NET的基本版本,可测试性,SoC,HTML控件......这太棒了.然而,对于它来说,我有一个巨大的标记挂起.我知道它来自我对经典ASP的仇恨,当我看到这个时,不禁觉得自己进入了暮光之城.

我不知道替代方案是什么(我可以使用服务器控件,数据绑定等......?)

qui*_*qui 11

你可以做一些事情来帮助清理标记,但我同意它可以得到一些标记 - 汤.

例如,这是我制作RSS-spitter-outer所做的扩展:)

  public static string RSSRepeater<T>(this HtmlHelper html, IEnumerable<T> rss) where T : IRSSable
    {
        StringBuilder result = new StringBuilder();

        if (rss.Count() > 0)
        {
            foreach (IRSSable item in rss)
            {
                result.Append("<item>").Append(item.GetRSSItem().InnerXml).Append("</item>");
            }
        }

        return result.ToString();
    }
Run Code Online (Sandbox Code Playgroud)

因此,在我的前端,我所拥有的是<%=Html.RSSRepeater(mydata)%>更好的.


小智 7

1)助手减少HTML噪音
2)部分视图分解更大的页面/重用视图代码
3) 如果你的视图包含太多语句,请尝试使用其他渲染引擎,例如Sparkline
4)REFACTOR if.