0

我的RelationshipCodeLookup表使用表的主键字段作为外键AgentTransmission。表中只能有 5 条记录RelationshipCodeLookup具有相同的AgentTransmission主键。

为了对此进行编码,我只是在模型中制作了 5 个RelationshipCodeLookup对象。AgentTranmsission一切正常(创建/编辑/删除),但是我不能EffectiveDate只显示它的日期。

代理传输

namespace Monet.Models
{
  public partial class AgentTransmission
  {
    public RelationshipCodeLookup RelationshipCode1 { get; set; }
    public RelationshipCodeLookup RelationshipCode2 { get; set; }
    public RelationshipCodeLookup RelationshipCode3 { get; set; }
    public RelationshipCodeLookup RelationshipCode4 { get; set; }
    public RelationshipCodeLookup RelationshipCode5 { get; set; }

    public int ID { get; set; }
    public Nullable<System.DateTime> EffectiveDate { get; set; }
    public Nullable<System.DateTime> TerminationDate { get; set; }
    public string InactiveReasonCode { get; set; }
    public string RecordStatus { get; set; }
    public string EntityType { get; set; }
    public string ReferenceType { get; set; }
   }
}

关系代码查找

namespace Monet.Models
{
    [MetadataType(typeof(RelationshipCodeLookupMetaData))]
    public partial class RelationshipCodeLookup1
    {
        public int Id { get; set; }
        public string RelationshipId { get; set; }
        public Nullable<System.DateTime> EffectiveDate { get; set; }
        public System.DateTime LastChangeDate { get; set; }
        public string LastChangeId { get; set; }
    }
    class RelationshipCodeLookupMetaData
    {
        [DisplayName("Effective Date")]
        [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:MM/dd/yyyy}")]
        public Nullable<System.DateTime> EffectiveDate { get; set; }        
    }
}

看法

    <tr>
        <td>@Html.EditorFor(model => model.RelationshipCode1.EffectiveDate, new { @class = "relCodeDate1" })</td>
        <td>@Html.TextBoxFor(model => model.RelationshipCode1.RelationshipId, new { @class = "relDistCode1", maxlength = 3 })</td>
    </tr>
    <tr>
        <td>@Html.EditorFor(model => model.RelationshipCode2.EffectiveDate, new { @class = "relCodeDate2" })</td>
        <td>@Html.TextBoxFor(model => model.RelationshipCode2.RelationshipId, new { @class = "relDistCode2", maxlength = 3 })</td>
    </tr>
    <tr>
        <td>@Html.EditorFor(model => model.RelationshipCode3.EffectiveDate, new { @class = "relCodeDate3" })</td>
        <td>@Html.TextBoxFor(model => model.RelationshipCode3.RelationshipId, new { @class = "relDistCode3", maxlength = 3 })</td>
    </tr>
    <tr>
        <td>@Html.EditorFor(model => model.RelationshipCode4.EffectiveDate, new { @class = "relCodeDate4" })</td>
        <td>@Html.TextBoxFor(model => model.RelationshipCode4.RelationshipId, new { @class = "relDistCode4", maxlength = 3 })</td>
    </tr>
    <tr>
        <td>@Html.EditorFor(model => model.RelationshipCode5.EffectiveDate, new { @class = "relCodeDate5" })</td>
        <td>@Html.TextBoxFor(model => model.RelationshipCode5.RelationshipId, new { @class = "relDistCode5", maxlength = 3 })</td>
    </tr>

截屏

在此处输入图像描述

4

1 回答 1

3

我会创建您自己的编辑器模板,如下所示(Views/Shared/EditorTemplates):

@model DateTime?

@Html.TextBox("", (Model.HasValue ? Model.Value.ToString("MM/dd/yyyy") : string.Empty), new { @class = "form-control" })

然后像这样使用它:

@Html.EditorFor(m => m.EffectiveDate, "NullableDate")

所有这一切都是覆盖默认.ToString()调用,它为您提供完整的日期和时间。

于 2013-11-13T23:02:20.703 回答