Asp.net mvc 导致错误的MVC条件代码?

Asp.net mvc 导致错误的MVC条件代码?,asp.net-mvc,razor,Asp.net Mvc,Razor,我在Razor视图中有以下代码,我只想在第一块可用时显示地址 @if (!string.IsNullOrWhiteSpace(Model.Address1)) { @Model.Address1<br /> @Model.Address2<br /> @Model.City, @Model.State @Model.Zip } 然而,它给了我一个设计时错误,在声明局部变量“Model”之前不能使用它 我已经对语法做了一些搜索,据我所知,它看起

我在Razor视图中有以下代码,我只想在第一块可用时显示地址

@if (!string.IsNullOrWhiteSpace(Model.Address1))
{
    @Model.Address1<br />
    @Model.Address2<br />
    @Model.City, @Model.State @Model.Zip
}  
然而,它给了我一个设计时错误,在声明局部变量“Model”之前不能使用它

我已经对语法做了一些搜索,据我所知,它看起来是正确的,但显然我遗漏了一些东西。有人知道为什么会这样吗

更新

看起来有点笨重,但这就是我的结局

@if (!string.IsNullOrWhiteSpace(Model.Address1))
{
    @:@Model.Address1<br />
    if (!string.IsNullOrWhiteSpace(Model.Address2))
    {
        @:@Model.Address2<br />
    }                            
    @:@Model.City, @Model.State @Model.Zip
}

您编写的HTML被解析为C代码,结果令人困惑

像@if这样的代码块的内容被解析为代码,而不是HTML

因此,@Model.City、@Model.State@Model.Zip成为格式错误的变量声明

您需要将其包装在HTML标记中,或在每行前面加@: