有没有理由使用其中一种技术而不是另一种?
在背后的代码中创建 多个字符串:
它们在前端代码中使用,可以使用打印到: 可以使用: 第二种技术似乎有点更容易阅读。根据{{1}}的评估方式与 效率方面的差异是否优于另一方? protected string String1;
protected string String2;
protected string String3;
protected string String4;
<%#String1%><%#String2%><%#String3%><%#String4%>
<%#String1 + String2 + String3 + String4%>
<#%%>
的比较,这个想法突然出现在我脑海中的效率可能略低。
答案 0 :(得分:1)
嗯,对于第二种情况,它会将该代码转换为对string.Concat
的单个调用,这对于将4个C#字符串连接在一起的方法同样有效。
我不赞成ASP如何获取标记的每个组件并从内容中构建单个字符串,但我会惊讶地发现它使用了一种愚蠢的强连接方法,最终构建了一个中间体每次添加新组件时,都会对整个页面的HTML进行字符串和复制。我认为这是一个非常安全的选择,可以假设使用了一些合理合理的方法,很可能是StringBuilder
,将内容写入流,或者有效地将一系列字符串附加在一起的其他类似方法。
答案 1 :(得分:0)
Asp.net引擎不会将以下字符串相互连接,它只渲染4次并将其放在html代码中
<%#String1%><%#String2%><%#String3%><%#String4%>
虽然下面的字符串将在服务器端连接并仅渲染1次。这绝对易于阅读和理解。
<%#String1 + String2 + String3 + String4%>