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

Razor视图中用分隔符拼接两个@Html.DisplayFor报错,求正确实现方式

正确实现方法

你的错误在于没搞懂Html.DisplayFor的用法——它的参数必须是指向模型属性的表达式,不能直接把string.Format的结果塞进去,这就导致类型不匹配抛出异常。下面给两种可行的解法:

  • 直接拼接渲染(最简便)
    分开调用两次DisplayFor,中间直接放分隔符就行:

    <td>@Html.DisplayFor(model => model.RefKey):@Html.DisplayFor(model => model.RefName)</td>
    
  • 先取值再格式化(适合复杂场景)
    先把两个字段的渲染结果转成字符串,再用string.Format拼接:

    @{
        var refKeyStr = Html.DisplayFor(model => model.RefKey).ToHtmlString();
        var refNameStr = Html.DisplayFor(model => model.RefName).ToHtmlString();
    }
    <td>@string.Format("{0}:{1}", refKeyStr, refNameStr)</td>
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 05:25:00