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

标签 .net asp.net-mvc

所以我完全相信 ASP.NET 的基本原则、可测试性、SoC、HTML 控制……太棒了。然而,作为新手,我对标记有很大的兴趣。我知道它来自于我对经典 ASP 的仇恨,当 I see this .

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

最佳答案

你可以做一些事情来帮助清理标记,但我同意它可能会有点标签汤。

  • 您可以make your own HTML helpers使用扩展方法输出数据,因此您可以隐藏一些 if/else 逻辑、迭代等
  • 小号 trongly type your views所以你可以做ViewData.Model.myProperty而不是 (MyClasst)ViewData["foo"].myProperty

  • 例如,这是我为制作 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();
        }
    

    所以在我的前端我只有<%=Html.RSSRepeater(mydata)%>这要好得多。

    关于.net - 如何克服对 ASP.Net MVC 标记中的 <% %> 的恐惧?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/363465/

    相关文章:

    c# - C#中如何从数组中获取随机值

    c# - WPF MessageBox 不等待结果 [WPF NotifyIcon]

    ASP.NET MVC 开源应用程序。 MySQL 还是 SQL Server?

    c# - Asp.Net MVC 使用参数执行 Oracle PL/SQL 存储过程

    c# - 从 bin 以外的文件夹加载程序集

    .net - 是否可以在运行时创建绑定(bind)重定向?

    javascript - 无法通过ajax查询获取值

    .net - 使用 Web 服务公开 .NET DAL 是否会增加安全性?

    c# - 使用 AD FS 和 OWIN 的 SSO 如何创建帐户和处理权限

    c# - ASP.net Identity SecurityStampValidator OnValidateIdentity regenerateIdentity 参数