HiddenFor HTML 要素をレンダリングする前に、モデルのプロパティを評価して空かどうかを確認しようとしていますが、ステートメントが false であっても、if ステートメントのコード ブロックが入力されます。
@{
if(Model.BoatImage.UploadedImagePath != string.Empty)
{
@Html.HiddenFor(model => model.BoatImage.UploadedImagePath)
}
}
上記のコードでは、UploadedImagePath は BoatImage のコンストラクターで string.Empty に初期化されます。if ステートメントで中断すると、Intellisense は UploadedImagePath が空であることを示し、イミディエイト ウィンドウは if ステートメントが false であると評価します。ただし、プログラムは引き続き HiddenFor 要素をレンダリングしようとします。
EDIT:デバッガーは、実際には上記のコードの数行下にあるのに、上記のコードが例外を引き起こしていることを誤って指摘しました。問題の原因となっている行を修正すると、上記のコードは正しく機能します。