我试图评估一个模型的属性,以在尝试呈现HiddenFor HTML元素之前查看它是否为空,但是输入了if语句的代码块,即使语句是假。如果没有正确评估语句
@{
if(Model.BoatImage.UploadedImagePath != string.Empty)
{
@Html.HiddenFor(model => model.BoatImage.UploadedImagePath)
}
}
在上面的代码,UploadedImagePath在BoatImage的构造初始化为的String.Empty。如果我在if语句中断,Intellisense会显示UploadedImagePath为空,并且Immediate窗口将if语句评估为false。但是,该程序仍尝试呈现HiddenFor元素。
编辑:调试器错误地指出,上面的代码导致异常,实际上是上面的代码下面几行。一旦我纠正了导致问题的行,上面的代码正常工作。
从不检查这样空字符串。改用string.IsNullOrEmpty()。 –
你的意思是“该程序仍然试图呈现隐藏的”?呈现的html如何看起来像? – nemesv