C# 实体框架对象具有datetime字段,在传递到视图(ASP.NET MVC4)之前,我希望将其转换为短日期字符串
我认为这是一个非常简单的问题,我可能想得太多了,但我不知道如何将一个日期字符串传递给我的视图。以下是实体框架代码第一类:C# 实体框架对象具有datetime字段,在传递到视图(ASP.NET MVC4)之前,我希望将其转换为短日期字符串,c#,asp.net-mvc,entity-framework,type-conversion,C#,Asp.net Mvc,Entity Framework,Type Conversion,我认为这是一个非常简单的问题,我可能想得太多了,但我不知道如何将一个日期字符串传递给我的视图。以下是实体框架代码第一类: public class Onus { public virtual int Id { get; set; } public virtual string Title { get; set; } [MaxLength(140)] public virtual string Description { get; set; } public virtual string Deta
public class Onus
{
public virtual int Id { get; set; }
public virtual string Title { get; set; }
[MaxLength(140)]
public virtual string Description { get; set; }
public virtual string Details { get; set; }
public virtual DateTime? DueDate { get; set; }
public virtual string Status { get; set; }
}
这是我想更改的控制器部分:
public Onus GetOnus(int id)
{
var onus = db.Onuses.Find(id);
if (onus == null)
{
throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.NotFound));
}
return onus;
}
在视图中,我使用一些ajax和javscript模板来显示数据。如果您需要该代码,我将添加它
***编辑
很抱歉没有说得更清楚,我没有真正的控制器来处理这个问题,这一切都是通过ajax完成的:
var getOnus = function (id) {
return $.ajax(onusApiUrl + "/" + id)
};
var viewOnus = function () {
var id = getId(this);
onusServer.getOnus(id).done(viewOnusDetails);
};
var viewOnusDetails = function (onus) {
var output = templates.onusDetails(onus);
$("#onusDetailsOutput").html(output);
};
还有更多的javascript,但我相信这就是您需要看到的全部内容。哦,还有标记:
<div id="Details">
<div id="detailsLeft">
<input type="hidden" value="{{Id}}" id="detailsId" />
<header>
<p><span class="onusTitleDetails">{{Title}}</span><span id="close">X</span></p>
</header>
{{#if DueDate}}
<p class="detailsLabel">Due Date</p>
<p class="onusDueDate">{{DueDate}}</p>
{{/if}}
<p class="detailsLabel">Description</p>
<p class="onusDescriptionDetails">{{Description}}</p>
<p class="detailsLabel">Details</p>
<p class="onusDetails">{{Details}}</p>
</div>
<div id="detailAction">
<div class="editOnus hover">Edit</div>
<div class="deleteOnus hover">Delete</div>
</div>
</div>
<div class="onusStatusDetails">{{Status}}</div>
{{Title}}X
{{{#如果到期}
到期日
{{DueDate}
{{/if}
描述
{{Description}
详细信息
{{Details}
编辑
删除
{{Status}}
查看调用视图的控制器会很有帮助,但我假设它是这样的:
public ActionResult MyController(int id)
{
Onus onus = GetOnus(int id);
return View(onus.DueDate.HasValue ?
onus.DueDate.Value.ToShortDateString() :
"(null)");
}
这将只将短日期字符串传递给您的模型,然后模型应该声明
@model string
将另一个属性添加到实体中,然后绑定到该实体如何
public virtual DateTime? DueDate { get; set; }
public string DueDateString
{
get { return DueDate != null ? DueDate.ToString() : string.Empty; }
}
什么不起作用?您讨论了一个视图,但发布了一个类(我假设它是一个模型)和一个助手方法,以从db获取ONU。也许只有我一个人,但我觉得你的问题不太清楚。对不起,我发了一篇含有更多信息/代码的编辑文章。谢谢。我最终使用了这个想法,但我需要修剪字符串以获得日期,所以我在类中创建了一个方法来实现这一点?