前端代码中的字符串连接(.Ascx或.aspx)

本文关键字:Ascx aspx 连接 代码 字符串 前端 | 更新日期: 2023-09-27 18:07:00

是否有理由使用其中一种技术而不是另一种?

有几个字符串可以在后面的代码中创建:

protected string String1;
protected string String2;
protected string String3;
protected string String4;

它们是在前端代码中使用的,可以使用:

打印到屏幕上。
<%#String1%><%#String2%><%#String3%><%#String4%>

或者也可以使用

: 打印
<%#String1 + String2 + String3 + String4%>

第二种技术似乎更容易阅读。这个想法突然出现在我的脑海中,它可能会稍微降低效率,这取决于<#%%>+的评估方式。

是否存在使一种方法优于另一种方法的效率差异?

前端代码中的字符串连接(.Ascx或.aspx)

对于第二种情况,它将把该代码转换为对string.Concat的单个调用,这是将4个c#字符串连接在一起的最有效的方法。

我不知道ASP是如何处理标记的每个组件并从内容中构建单个字符串的,但我很震惊地发现它使用了一种愚蠢的强连接方法,最终构建一个中间字符串,并在每次添加新组件时复制整个页面的HTML。我认为这是一个相当安全的赌注,假设使用了一些合理合理的方法,最有可能是StringBuilder,将内容写入流,或其他一些有效地将一系列字符串附加在一起的类似方法。

Asp.net引擎不会将以下字符串相互连接,它只是渲染4次并将其放置在html代码

<%#String1%><%#String2%><%#String3%><%#String4%>

而下面的字符串将在服务器端连接并只渲染1次。当然,这很容易阅读和理解。

<%#String1 + String2 + String3 + String4%>