【发布时间】:2025-11-28 11:00:02
【问题描述】:
从我的控制器我已经将值模块传递给查看
public ActionResult Details(long id, string owner)
{
var module = _ownedModuleRepository.GetModuleDetails(id, owner);
return View(module);
}
我已经在视图中显示了它包含的值,如下所示
<dt>ID</dt>
<dd>@Model.Id</dd>
<dt>Module ID</dt>
<dd>@Model.ModuleId</dd>
<dt>Owner</dt>
<dd>@Model.Owner</dd>
<dt>Module Type</dt>
<dd>@Model.TypeName</dd>
<dt>Module Kind</dt>
<dd>@Model.KindName</dd>
<dt>Ownership Start Date</dt>
<dd>@Model.Start</dd>
<dt>Ownership End Date</dt>
<dd>@Model.End</dd>
@foreach (var properties in Model.Properties)
{
<dt>Property Name</dt>
<dd>@properties.Name</dd>
<dt>Property Value</dt>
<dd>@properties.Value</dd>
}
当前 @Model.End 为空,它是 DateTime 类型,我已将它设置为在 viewmodel 中可以为空。 因为它是空的,这就是我所看到的
如您所见,Ownership End Date 的值取自下方的 Property Name 的值。如果 @Model.End 为空,如何将其设置为空?
编辑 1:
我的模型
public class OwnedModuleDetails
{
public long Id { get; set; }
public string ModuleId { get; set; }
public string Owner { get; set; }
public string KindName { get; set; }
public string TypeName { get; set; }
public DateTime Start { get; set; }
public DateTime? End { get; set; }
public IEnumerable<Property> Properties { get; set; }
}
存储库中的方法
public OwnedModuleDetails GetModuleDetails(long id, string owner)
{
// ReSharper disable ImplicitlyCapturedClosure
var module = (_dbSis.OwnedModules.Where(t => t.Id == id).Select(m => new OwnedModuleDetails
// ReSharper restore ImplicitlyCapturedClosure
{
Id = id,
ModuleId = m.ModuleId,
TypeName = m.ModuleType.TypeName,
KindName = m.ModuleType.ModuleKind.KindName,
Owner = owner,
Start = m.Start,
End = m.End,
Properties = m.PropertyConfiguration.PropertyInstances.Select(
x => new Property { Name = x.Property.Name, Value = x.Value })
}));
return (module.FirstOrDefault());
}
【问题讨论】:
-
在
DateTime?类型中获取字符串值的方式很奇怪。您确定End属性是DateTime?吗?这是哪里来的MicrophoneArrayRackModuleId? -
它设置为日期和时间,我已将我的模型作为编辑,方法控制器也在存储库中调用
-
这个
MicrophoneArrayRackModuleId来自哪里?您不可能为 DateTime 属性获得这样的输出。 -
我的模型有
IEnumerable<Property> Properties属性类包含Name(字符串)和Value(字符串),MicrophoneRackModuleId是@987654333之一@名称
标签: asp.net-mvc asp.net-mvc-4 view nullable