2

我试图限制一个 url 的多少个字符将与注释一起显示。我希望链接能够很长,这只是我想要更改的显示方式。我可以限制显示 url(链接)的每个视图的长度,但我希望在模型中只更改一次。我不明白为什么这不起作用。添加 DisplayFormat 注释后,url 会像以前一样显示,长度完全没有变化。

[Required()]
[DataType(DataType.Url)]
[DisplayFormat(DataFormatString = "{0,20}")]
public string Link { get; set; }
4

1 回答 1

1

实现它的最佳方法可能是为您的数据类型创建自己的模板。一种可能的解决方案是添加ShortUrl.asxcShortUrl.cshtmlShared\DisplayTemplates文件夹:

@model string

@Model.Substring(20)

然后将您的字段定义更改为:

[Required()]
[DataType(DataType.Url)]
[DisplayFormat(DataFormatString = "{0,20}")]
[UIHint("ShortUrl")]
public string Link { get; set; }

或在视图中提供模板名称:

@Html.DisplayFor(m => m.Link, "ShortUrl")

当然,您可以扩展显示模板以使用元数据并检查空值等,

于 2013-10-08T22:09:43.917 回答