为了产生清洁的标记,我常常求助于使用类似这样的代码:生成清洁标记用文字和的String.format
<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 Web窗体的id等
- 设计师可以做的ASPX稍作修改而无需开发人员的干预
- 代码是预编译的(而不是使用内嵌代码或数据绑定语句)
缺点:
- 略带神秘
- 脆弱 - 当标记中删除参数时,string.Format会抛出异常
Th因此,我的问题:
这是一种常见的方式来产生干净的标记? 更好的替代品?数据绑定语法的方法是否可取?