我正在尝试将动态模型传递给ASP.NET Core 2.2中的局部视图(使用局部视图来增加代码的一致性和可维护性)
代码:
@model dynamic
@{
var asInput = Model.asInput ?? false;
var title = Model.title ?? "";
var dataTooltip = string.IsNullOrWhiteSpace(Model.title) ? "" : "enabled";
var inputType = "submit";
if (Model.inputType != null) { inputType = Model.inputType; }
var cssClasses = "";
if (string.IsNullOrWhiteSpace(Model.cssClass)) { cssClasses = Model.cssClass; }
}
@if (!asInput)
{
<h1 class="far fa-eye"></h1>
}
else
{
<input type="submit" value="" class="btn btn-block btn-
primary @cssClasses" data-tooltip="@dataTooltip" title="@title" />
}
错误:
错误文字(标题为null时):
Microsoft.CSharp.RuntimeBinder.RuntimeBinderException
HResult=0x80131500
Message='<>f__AnonymousType1<bool>' does not contain a definition for 'title'
在上面的屏幕截图中,“ asInput”和“ title”具有值,但是如果没有,它们也会产生相同的错误。如您所见,我从空合并开始,但最终尝试了一个仍然失败的简单“ if”
使用“ IsNullOrWhiteSpace(Model.Property)”仍然是一个错误,因为访问Model.Property时会产生错误