代码之家  ›  专栏  ›  技术社区  ›  marapet

使用Literal和string.Format生成干净的标记

  •  2
  • marapet  · 技术社区  · 14 年前

    <asp:Literal ID="ltItem" runat="server">
    <li class="{0}"><a href="{1}">{2}</a></li></asp:Literal>
    

    在代码背后:

    ...
    lt.Text = string.Format(lt.Text,
        cssClass,
        item.Url,
        Server.HtmlEncode(item.Caption)
    );
    

    其中一些优点是:

    • 干净的html标记,没有ASP.Net网页表单id等

    缺点:

    • 有点神秘
    • 易碎-删除标记中的参数时,string.Format会引发异常

    因此,我的问题是:

    这是生成干净标记的常用方法吗?有 ? 数据绑定语法方法更可取吗?

    2 回复  |  直到 14 年前
        1
  •  2
  •   Corbin March    14 年前

    如果您没有意识到这些好处,并且发现自己正在与ASP.NETWebForms方法作斗争,请考虑另一个框架。使用一个不分享你的价值观和目标的框架是没有意义的。

    如果您想完全控制呈现的HTML,请考虑 ASP.NET MVC

        2
  •  0
  •   Yohann Canu    13 年前

    如果我错了,请纠正我,但是使用MVC不会给你预编译的代码,不是吗? 我在使用webforms时也是这样做的,而且我在使用webforms时遇到了一些问题。