You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Razor内联表达式拼接固定字符串且无多余空格的最佳实践是什么?

Razor内联表达式无空格拼接最佳实践

最优方案推荐

优先选择**$前缀的字符串插值**方案,是你列出的三个可选方案里综合表现最好的,你也可以直接使用Razor原生的括号包裹语法实现更精简的写法。

各方案对比说明

1. 首选极简方案:Razor原生@()包裹语法

这是该场景下最轻量化的实现,直接将变量用@()包裹,后面直接拼接文本,Razor解析时完全不会生成多余空格:

@foreach (var photo in Model.Photos)
{
    <a style="width:@(photo.ThumbWidth)px;" href="..."><img....></a>
}

2. 复杂场景首选:$字符串插值

如果拼接逻辑更复杂(比如需要多段内容拼接、附加判断逻辑),用字符串插值的可读性最高,不需要修改模型层代码,展示逻辑全部内聚在视图层,符合分层职责要求:

@foreach (var photo in Model.Photos)
{
    <a style="width:@($"{photo.ThumbWidth}px");" href="..."><img....></a>
}

3. 不推荐:String.Concat方法

虽然可以实现无空格拼接的需求,但写法冗余,可读性远低于插值写法,代码更长。

4. 强烈不推荐:Model类新增拼接方法

将视图层的展示逻辑耦合到数据模型中,违反单一职责原则,后续如果要更换单位(如em、rem)或者调整展示规则还要修改Model代码,维护成本最高。

内容的提问来源于stack exchange,提问作者SandroRiz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 23:36:03