首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >存储为Varchar的SSN的剃刀页显示模板(9)

存储为Varchar的SSN的剃刀页显示模板(9)
EN

Stack Overflow用户
提问于 2019-09-06 22:52:10
回答 1查看 229关注 0票数 0

我正在尝试用破折号显示存储为Varchar(9)的SSN。

数据库中的SSN存储为varchar(9),没有破折号。它不是作为数字存储的,因为如果以数字形式存储的话,任何前导零都会被删除。我不能将DisplayFormat属性与DataFormatString =“{0:##-##-#}”一起使用,因为只有当SSN作为长类型存储时才能使用。因此,我试图为它创建一个显示模板。我已经创建了一个名为SSN的.cshtml文件,并将它放在共享文件夹内的一个名为DisplayTemplates的文件夹中,并且我在Razor页面上使用@Html.DisplayFor(modelItem => item.SSN)来显示SSN,但是我在显示模板中创建的掩码没有生效。

下面是SSN.cshtml显示模板中的代码:

代码语言:javascript
复制
@model PFDTrustDomain.Client

<div>
    @Model.SSN.Insert(2, "-").Insert(5, "-");
</div>

我希望SSN显示类似: 123-45-6789,但继续显示类似: 123456789。

EN

回答 1

Stack Overflow用户

发布于 2019-09-09 05:08:49

如果显示模板未被击中,则需要通过设置Copy to Output Directory将模板复制到输出文件夹。

以下步骤如下:

  1. @Html.DisplayFor@model PFDTrustDomain.Client是不匹配的,模板期望客户端,但是您使用SSN传递字符串。像@Html.DisplayFor一样改变@Html.DisplayFor(model => model.SSN,"SSN")
  2. 将模板中的@model PFDTrustDomain.Client更改为下面 @模型字符串@Model.Insert(3,"-").Insert(6,"-");
  3. Copy to Output DirectoryShared/DisplayTemplates/SSN.cshtml设置为Copy always
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57829321

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档