我试图在尝试渲染HiddenFor HTML元素之前评估模型的属性以查看它是否为空,但是输入了if语句的代码块,即使该语句为false。
@{
if(Model.BoatImage.UploadedImagePath != string.Empty)
{
@Html.HiddenFor(model => model.BoatImage.UploadedImagePath)
}
}
在上面的代码中,UploadedImagePath在BoatImage的构造函数中初始化为string.Empty。如果我在if语句中断,Intellisense显示UploadedImagePath为空,而Immediate窗口将if语句计算为false。但是,程序仍尝试渲染HiddenFor元素。
编辑:调试器错误地注意到上面的代码导致异常,而实际上是在上面的代码下面几行。一旦我纠正了引起问题的行,上面的代码就能正常工作。
答案 0 :(得分:1)
@if(!string.IsNullOrEmpty(Model.BoatImage.UploadedImagePath))
{
@Html.HiddenFor(model => model.BoatImage.UploadedImagePath)
}
请注意,我也更改了您的字符串评估方法