2012-06-06 117 views
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。

这是怎么回事?

回答

1

为什么使用视图来格式化输出?这似乎是您添加到视图中的不必要的一部分复杂性。海事组织这是一个更好的位置将是您的视图模型的属性中:

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

但是,为了回答你的问题,如果你删除你的部分观点,你会看到你的号码仍120456.显示在为了渲染你的局部视图,你需要渲染的部分如下:

@{ Html.RenderPartial("_PermitNumber", Model.BuildingPermit.PermitId); } 
+0

Doh!我应该在模型中做到这一点......谢谢! –

相关问题