Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 实体框架对象具有datetime字段,在传递到视图(ASP.NET MVC4)之前,我希望将其转换为短日期字符串_C#_Asp.net Mvc_Entity Framework_Type Conversion - Fatal编程技术网

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。也许只有我一个人,但我觉得你的问题不太清楚。对不起,我发了一篇含有更多信息/代码的编辑文章。谢谢。我最终使用了这个想法,但我需要修剪字符串以获得日期,所以我在类中创建了一个方法来实现这一点?