0

我认为这是一个非常简单的问题,我可能想多了,但我不知道如何将日期字符串传递给我的视图。这是实体框架代码第一类:

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>
4

2 回答 2

1

查看调用视图的控制器会很有帮助,但我假设它是这样的:

public ActionResult MyController(int id)
{
    Onus onus = GetOnus(int id);
    return View(onus.DueDate.HasValue ? 
                onus.DueDate.Value.ToShortDateString() : 
                "(null)");
}

这只会将短日期字符串传递给您的模型,而模型又应该声明

@model string
于 2012-08-02T04:30:18.717 回答
0

将另一个属性添加到您的实体,然后绑定到它呢?

 public virtual DateTime? DueDate { get; set; }

 public string DueDateString
        {
            get { return DueDate != null ? DueDate.ToString() : string.Empty; }
        }
于 2012-08-02T20:29:12.987 回答