- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我试图在 MVC 中格式化一些 DateTimes,但 DisplayFormat 没有应用于 Nullable 对象,我不知道为什么。它在 CreatedDateTime 上运行良好,但在 LastModifiedDateTime 上运行良好
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:MM/dd/yy hh:mm tt}")]
public DateTime CreatedDateTime { get; set; }
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:MM/dd/yy hh:mm tt}")]
public Nullable<DateTime> LastModifiedDateTime { get; set; }
下面是 View
<div class="editor-field">
@Html.DisplayFor(model => model.CreatedDateTime)
<br />
@Html.Raw(TimeAgo.getStringTime(Model.CreatedDateTime))
</div>
@if (Model.LastModifiedDateTime.HasValue)
{
<div class="editor-label">
@Html.LabelFor(model => model.LastModifiedDateTime)
</div>
<div class="editor-field">
@Html.DisplayFor(model => model.LastModifiedDateTime)
<br />
@Html.Raw(TimeAgo.getStringTime(Model.LastModifiedDateTime.Value)) By: @Html.DisplayFor(model => model.LastModifiedBy)
</div>
}
最佳答案
如果我理解你的意图是正确的(我希望我理解了),那么你可以通过将你的模板放在 Views/Shared/DisplayTemplates/DateTime.cshtml
中并定义它来为 Nullable 提供一个显示模板以下内容:
@model System.DateTime?
@Html.Label("", Model.HasValue ? Model.Value.ToString("MM/dd/yy hh:mm tt") : string.Empty)
希望对您有所帮助。
编辑
同一类型可以有多个显示模板,并通过名称指定要使用的模板,假设您有:
Views/Shared/DisplayTemplates/Name1.cshtml
Views/Shared/DisplayTemplates/Name2.cshtml
然后你可以这样称呼他们:
@Html.DisplayFor(model => model.LastModifiedDateTime, "Name1")
@Html.DisplayFor(model => model.LastModifiedDateTime, "Name2")
关于c# - DisplayFormat 不适用于 Nullable<DateTime>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16908910/
我正在尝试为 DateTime 字段创建一个编辑器模板,但它似乎不尊重我的 DisplayFormat 属性。 我的型号: public class Project { [Display(Na
我已经选择了一个 MVC 解决方案,并且正在尝试将表单上的 double 变量格式化为小数点后两位。在模型 View 中使用 设置 [DisplayFormat(DataFormatString =
如何使用 DisplayFormat 在数字之间添加空格。 像这个例子: 50130301037855000150550010000000131000000132 我需要这个: 5013 0301 0
我是 SDL 和 C++ 的新手。 然而,当我在图像上执行 DisplayFormat 以加快 blitting 时,它会使它成为一个矩形。 SDL_Surface* tempImage = NULL
我有以下字符串:"10222002750400447092095835" 我希望它像这样显示:10 2220 0275 0400 4470 9209 5835 我尝试了以下操作,但没有任何结果: [D
我有一个模型属性,我正在尝试使用 EditorFor 模板呈现,并且我正在尝试使用 DisplayFormat 属性应用格式。然而,它根本不起作用——它完全被忽略了。 这是我的模板: @model S
我已经看到了大约 1000 篇关于此的帖子,但我一定错过了一些东西。 基本上,我试图在我的站点中使用 dd/MM/yyyy 格式,但在验证时出现问题。 我有一个 View 模型: public
连接到网格的数据集具有: TField.DisplayFormat := '$######.00' 我想构建网格特定列中的字符串列表: while NOT DataSet.EOF do Stri
我的日期格式如下: [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:MM/dd/yyyy}")] public
在 ASP.NET MVC 4 Beta 中,我有一个具有此属性的实体: [DisplayFormat(DataFormatString = "{0:o}", ApplyFormatInEditMod
我试图在 MVC 中格式化一些 DateTimes,但 DisplayFormat 没有应用于 Nullable 对象,我不知道为什么。它在 CreatedDateTime 上运行良好,但在 Last
我正在尝试将公共(public)属性的 DisplayFormat 设置为当前的 cultureinfo 日期时间格式。该类将用于 Silverlight Datagrid。 [Display
我有一个模型,它有一些 double 属性,并且带有一个 DisplayFormat,它可以将 double 转换成一个很好的可读百分比.. 示例 [DisplayFormat(DataFormatS
我有一个示例类 Student格式化属性为 DateTime?键入以仅将日期显示为 dd/MM/yyyy .代码片段如下: public partial class Student { //
public class Board { [Display(ResourceType=(typeof(MVC.Resources.Board)), Name="TEST")] [Dis
我正在尝试限制 url 的字符数将与注释一起显示。我希望链接可以很长,我只想更改它的显示方式。我可以限制显示 url(链接)的每个 View 的长度,但我更愿意在模型中只更改一次。我不明白为什么这不起
问题 我正在运行 tutorials for ASP.NET MVC 4 (但我认为这也适用于 MVC 5),您可以在其中为电影商店创建一个网站。 电影模型有一个类型为 DateTime 的 Rele
有没有一种方法可以使用 View 模型属性上的 DisplayFormat 属性来为社会安全号码或电话号码应用 DataFormatString 格式?我知道我可以使用 javascript 来做到这
我想检查我的列中是否有任何重复项,我手动设置了条件格式,然后进行了以下测试: If cell2.DisplayFormat.Interior.Color <> RGB(255,
这是我拥有的一个类(class)的简化 View : public class SalesMixRow { [DisplayFormat(DataFormatString = "{0:c0}"
我是一名优秀的程序员,十分优秀!