需要截断 Razor HTML DisplayFor Helper

2024-03-10

我试图截断一个有时非常大或有时在数据库中为空的文本字段,即

@Html.DisplayFor(modelItem => item.MainBiography)

并在末尾替换为三个点。

我尝试过 substring 函数,但不断出现错误。

任何指点,谢谢!

Update:

...并不是很重要,所以我尝试使用

 @Html.DisplayFor(modelItem => item.MainBiography.Substring(0,10)) 

并得到以下错误代码:

System.InvalidOperationException 未由用户代码处理 HResult=-2146233079 Message=模板只能与字段访问、属性访问、单维数组索引或单参数自定义索引器表达式一起使用。来源=System.Web.Mvc –


您最好在模型中创建不同的属性,以获取MainBiography并最终缩短了时间。

像这样:

// This is your property (sampled)
public string MainBiography { get; set; }

//How long do you want your property to be at most ?
//(Best practice advices against magic numbers)
private int MainBiographyLimit = 100;

//You probably need this if you want to use .LabelFor() 
//and let this property mimic the "full" one  
[Display(Name="Main Biography")]
public string MainBiographyTrimmed
{
    get
    {
        if (this.MainBiography.Length > this.MainBiographyLimit)
            return this.MainBiography.Substring(0, this.MainBiographyLimit) + "...";
        else 
            return this.MainBiography;
    }
}

用法是

@Html.DisplayFor(item => item.MainBiographyTrimmed)

另一种方法是构建一个成熟的视图模型,但我发现它往往有点矫枉过正。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

需要截断 Razor HTML DisplayFor Helper 的相关文章

随机推荐

  • R 矩阵/data.frame索引选择真的很慢

    我正在选择 data frame 的子集g raw 像这样 g raw lt read table gfile sep header F row names 1 snps intersect row names na omit csnp r
  • 与 Julia 实时绘图

    我正在尝试绘制一个与 Julia 一起实时演化的函数 为此 当我尝试完全应用给定的示例时 我发现 GR 包可以在 Julia 中使用here https pgi jcns fz juelich de pub doc anim html im
  • 如果我需要自定义 getter/setter,我可以省略字段创建吗?

    我可以写出如此漂亮简单的代码 public int Delta get private set 现在我只想添加一个电话OnPropertyChanged Delta 这是我知道如何做到这一点的唯一方法 public int Delta ge
  • 并排绘制 gList

    我有 2 个 gList 对象 网格 当我这样做时 它们可以很好地绘制 grid draw plot1 grid draw plot2 但我希望这些在 pdf 中并排显示 就像是 pdf test pdf par mfrow c 1 2 p
  • 如何更改列表视图的文本大小

    我正在使用 List Activity 从 SQLITE 检索数据 但我无法设置列表视图的字体大小 请帮我 public class CartList extends ListActivity private ArrayList
  • PDF Box 由于其中包含 JBIG2 图像而生成空白图像

    首先让我向您介绍一下我的项目 我有一个 pdf 文件 需要将其转换为图像 一页一张图像 PDFBoxAPI 并将所有这些图像写入新的 pdf 中PDFBoxAPI 本身 基本上 将 pdf 转换为 pdf 我们称之为 PDF 转码 对于某些
  • Qt QImage 到 QPixmap 转换丢失 UI 的颜色信息

    我正在尝试更新主 Qt UI 中 QLabel 上的 QPixmap 调用以下插槽来使用 newImage 变量 QImage 执行此操作 因为它来自不同的线程 QImage 使用 ConvertFromImage 转换为 someImag
  • 如何将不带空格的文本拆分为单词列表

    Input tableapplechairtablecupboard 很多话 将此类文本拆分为单词列表并获得的有效算法是什么 Output table apple chair table cupboard cup board 首先想到的是遍
  • 如何使用 cleanup 属性初始化变量?

    有没有办法用以下方式初始化变量cleanup编译器属性 或者我必须在声明变量后设置值吗 我试过把cleanup前面的属性 malloc 10 就像下面和后面的例子一样 malloc 10 但都不能编译 include
  • mysql通过有来计数组

    我有这张表 Movies ID Genre 一部电影可以有多种类型 因此 ID 并不特定于某个类型 而是多对多的关系 我想要一个查询来查找恰好有 4 种类型的电影总数 我当前的查询是 SELECT COUNT FROM Movies GRO
  • 使用 Plugman 创建 Ionic 插件

    我是 Ionic 和 Cordova 的新手 我需要使用 Cordova 创建一个 ionic 插件并将其集成到示例 ionic 应用程序中 我遵循的步骤是 使用plugman创建一个简单的离子插件 plugman create name
  • WPF - 如何在父级鼠标悬停时更改子级样式

    我有一个StackPanel 1 与另一个StackPanel 2 里面 SP 2 应隐藏 不透明度 0 直到 SP 1 悬停为止 鼠标悬停应将 SP2 的样式更改为不透明度 100 我尝试在 StackPanel 资源中定义样式 然后使用
  • 标签替换换行符[重复]

    这个问题在这里已经有答案了 我有一个带有文本区域的表单 我想将输入中的换行符更改为段落 使用 p 标签 我正在使用爆炸和内爆来替换 n with p p 但是如果你连续有两个换行符 你最终会得到 p p p p 我试图使用 foreach
  • Asp.net MVC 中的 TimeSpan 和“24:00”解析错误

    我的 Web 应用程序中有一个模式对话框 用户可以在其中输入 00 00 到 24 00 之间的时间范围 范围滑块用于选择该范围 一切都按预期工作 除了每当用户将正确的范围句柄设置为具有值 24 00 时 默认模型绑定器无法解析此值Time
  • 对于不成功的 Try() 方法,输出值应该设置为多少?

    我正在实现 TryParse string s Out object result 方法 如果解析失败 我不想触及 out 参数 因此之前的任何结果都将保持不变 但 VS2k8 不让我这么做 无论如何 我都必须设置 out 对象的值 我应该
  • Spring Boot - Websockets - 如何查看订阅者

    我正在开发一个 websocket 应用程序 我试图让一个 websocket 提供信息 然后输出给端点的订阅者 我已经弄清楚了 但我想知道是否有办法查看订阅了哪些订阅者以及订阅了什么路径 这是我正在处理的代码示例 Autowired pr
  • 图灵机的 C 语言实现

    我正在为形式语言理论课程研究图灵机 教授建议运行以下内容算法 http code zhoubot com archives 52详细查看 TM 背后的逻辑 但不起作用 当尝试编译时告诉我以下错误 C Documents and Settin
  • 在 ASP MVC 3 中创建可下载文本文件时无法访问关闭的流

    我试图提示可下载的文本文件 txt 但出现此错误 无法访问关闭的流 我在这里查看了类似的问题 无法访问关闭的流 https stackoverflow com questions 2331675 cannot access closed s
  • Valgrind 和 CUDA:报告的泄漏是真的吗?

    我的应用程序中有一个非常简单的 CUDA 组件 Valgrind 报告了大量泄漏和仍然可达的情况 所有这些都与 cudaMalloc 调用有关 这些泄露是真的吗 我打电话cudaFree对于每一个cudaMalloc 这是 valgrind
  • 需要截断 Razor HTML DisplayFor Helper

    我试图截断一个有时非常大或有时在数据库中为空的文本字段 即 Html DisplayFor modelItem gt item MainBiography 并在末尾替换为三个点 我尝试过 substring 函数 但不断出现错误 任何指点