Asp.net 未显示默认属性值

Asp.net 未显示默认属性值,asp.net,.net,asp.net-mvc,razor,Asp.net,.net,Asp.net Mvc,Razor,我试图显示属性的默认值,因为它是空的,我想显示一些内容,而不是什么都不显示 以下是我的cshtml代码: <tbody> <tr> <td>Id </td> <td>@Html.DisplayFor(model => model.id)</td> <

我试图显示属性的默认值,因为它是空的,我想显示一些内容,而不是什么都不显示

以下是我的cshtml代码:

            <tbody>
                <tr>
                    <td>Id </td>
                    <td>@Html.DisplayFor(model => model.id)</td>
                </tr>
                <tr>
                    <td>Previous id </td>
                    <td>@Html.DisplayFor(model => model.oldId)</td>
                </tr>
                <tr>
                    <td>Category </td>
                    <td id="categoryId">@Html.DisplayFor(model => model.categoryId)</td>
                </tr>
                <tr>
                    <td>Date of creation </td>
                    <td>@Html.DisplayFor(model => model.dateCreation)</td>
                </tr>
                <tr>
                    <td>Date of modification</td>
                    <td>@Html.DisplayFor(model => model.dateModify)</td>
                </tr>
                @* TODO: Return name of logged in user. *@
                <tr>
                    <td>User id</td>
                    <td>@Html.DisplayFor(model => model.userId)</td>
                </tr>
                <tr>
                    <td>Zone</td>
                    <td id="zoneId">@Html.DisplayFor(model => model.zoneId)</td>
                </tr>
                <tr>
                    <td>Equipment</td>
                    <td id="equipmentId">@Html.DisplayFor(model => model.equipmentId)</td>
                </tr>
                <tr>
                    <td>Equipment task</td>
                    <td id="taskId">@Html.DisplayFor(model => model.taskId)</td>
                </tr>
                <tr>
                    <td>Date revision</td>
                    <td>@Html.DisplayFor(model => model.dateRevision)</td>
                </tr>
            </tbody>

有人知道没有显示默认值的原因吗

您是否尝试过不使用DisplayFor方法而直接调用变量
@Model.id

未显示它们的原因是它们为空

您在类中所说的是,某些属性可以为null,如果您不为它们赋值,则它们为null。因此,您不能显示null

您可以使用空合并运算符。一个好的链接:

所以


你会包括你的控制器代码吗?那全景呢?谢谢。您希望为哪个属性显示默认值?其中一个日期字段?注意`=new DateTime;`仅设置初始值,如果属性为null,则不定义默认值。Ssomething else可能正在将该值设置为null。
        public int id { get; set; }
        public int? oldId { get; set; } = 0; 
        public int? categoryId { get; set; }
        public DateTime? dateCreation { get; set; }
        public DateTime? dateModify { get; set; } = new DateTime();
        public string userId { get; set; }
        public int? zoneId { get; set; }
        public int? equipmentId { get; set; }
        public int? taskId { get; set; }
        public DateTime? dateRevision { get; set; } = new DateTime();
<td>@Html.DisplayFor(model => model.oldId ?? 0)</td>