我正在尝试用破折号显示存储为Varchar(9)的SSN。
数据库中的SSN存储为varchar(9),没有破折号。它不是作为数字存储的,因为如果以数字形式存储的话,任何前导零都会被删除。我不能将DisplayFormat属性与DataFormatString =“{0:##-##-#}”一起使用,因为只有当SSN作为长类型存储时才能使用。因此,我试图为它创建一个显示模板。我已经创建了一个名为SSN的.cshtml文件,并将它放在共享文件夹内的一个名为DisplayTemplates的文件夹中,并且我在Razor页面上使用@Html.DisplayFor(modelItem => item.SSN)来显示SSN,但是我在显示模板中创建的掩码没有生效。
下面是SSN.cshtml显示模板中的代码:
@model PFDTrustDomain.Client
<div>
@Model.SSN.Insert(2, "-").Insert(5, "-");
</div>我希望SSN显示类似: 123-45-6789,但继续显示类似: 123456789。
发布于 2019-09-09 05:08:49
如果显示模板未被击中,则需要通过设置Copy to Output Directory将模板复制到输出文件夹。
以下步骤如下:
@Html.DisplayFor和@model PFDTrustDomain.Client是不匹配的,模板期望客户端,但是您使用SSN传递字符串。像@Html.DisplayFor一样改变@Html.DisplayFor(model => model.SSN,"SSN")@model PFDTrustDomain.Client更改为下面
@模型字符串@Model.Insert(3,"-").Insert(6,"-");Copy to Output Directory为Shared/DisplayTemplates/SSN.cshtml设置为Copy alwayshttps://stackoverflow.com/questions/57829321
复制相似问题