1

这让我很烦,我不知道发生了什么。我创建了一个局部视图来正确格式化数字。

该文件_PermitNumber.cshtml位于/Views/Shared并包含:

@model System.Int32
@Html.Raw(Model.ToString("00-0000"))

在我的主页上,我这样做:

@Html.DisplayFor(model => model.BuildingPermit.PermitId, "_PermitNumber")

model.BuildingPermit.PermitId被定义为一个int

我的输出是 120456 而不是预期的 12-0456。

到底是怎么回事?

4

1 回答 1

1

为什么要使用视图来格式化输出?这似乎是您添加到视图中的不必要的复杂性。IMO 更好的位置将在您的视图模型的属性内:

public string FormattedPermitNumber
{
    get 
    {
         return PermitId.ToString("00-0000"));
    }
}

但要回答您的问题,如果您要删除部分视图,您会看到您的号码仍显示为 120456。为了呈现您的部分视图,您需要按如下方式呈现部分视图:

@{ Html.RenderPartial("_PermitNumber",  Model.BuildingPermit.PermitId); }
于 2012-06-06T16:15:14.467 回答