Asp.net mvc 使用razor的视图中的If/Else语句不工作

Asp.net mvc 使用razor的视图中的If/Else语句不工作,asp.net-mvc,razor,Asp.net Mvc,Razor,我创建了此代码并将其传递给了部分视图: MealCurrentDetails mcd = new MealCurrentDetails { id = 1, name = "Name", description = "desc", price = 99, availability = 0 }; return PartialView("MealDetails", mcd); 这是我创建的局部视图 @model WebProg.Models.MealCurrentDe

我创建了此代码并将其传递给了部分视图:

MealCurrentDetails mcd = new MealCurrentDetails
{
   id = 1,
   name = "Name",
   description = "desc",
   price = 99,
   availability = 0
};

return PartialView("MealDetails", mcd);
这是我创建的局部视图

@model WebProg.Models.MealCurrentDetails

@if (Model != null)
{
    <dt>Meal Name</dt>
    <dd>
       @Html.DisplayFor(model => model.name)
    </dd>
    <dt>Description</dt>
    <dd>
       @Html.DisplayFor(model => model.description)
    </dd>
    <dt>Price</dt>
    <dd>
        @Html.DisplayFor(model => model.price)
    </dd>
    <dt>Availability</dt>
    if(model.availability == 0)
    {
       <dd class="text-success">Available</dd>
    }
    else
    {
       <dd class="text-warning">Not available</dd>
    }
}
@model WebProg.Models.MealCurrentDetails
@如果(型号!=null)
{
餐名
@DisplayFor(model=>model.name)
描述
@DisplayFor(model=>model.description)
价格
@DisplayFor(model=>model.price)
可利用性
如果(model.availability==0)
{
可用
}
其他的
{
无法使用的
}
}

在我看来,if语句不起作用,我不明白为什么。有什么办法可以解决这个问题吗?

应该是
Model.availability
而不是
Model.availability

@model WebProg.Models.MealCurrentDetails

@if (Model != null)
{
    <dt>Meal Name</dt>
    <dd>
       @Html.DisplayFor(model => model.name)
    </dd>
    <dt>Description</dt>
    <dd>
       @Html.DisplayFor(model => model.description)
    </dd>
    <dt>Price</dt>
    <dd>
        @Html.DisplayFor(model => model.price)
    </dd>
    <dt>Availability</dt>
    if(Model.availability == 0)
    {
       <dd class="text-success">Available</dd>
    }
    else
    {
       <dd class="text-warning">Not available</dd>
    }
}
@model WebProg.Models.MealCurrentDetails
@如果(型号!=null)
{
餐名
@DisplayFor(model=>model.name)
描述
@DisplayFor(model=>model.description)
价格
@DisplayFor(model=>model.price)
可利用性
如果(Model.availability==0)
{
可用
}
其他的
{
无法使用的
}
}

您可能还需要
@
@KirkLarkin:不需要。我不需要它。因为它已经在
if
块中。只有当在任何html元素之间写入
if
时,我才需要
@
。有趣。我试过这个,但不久前它不起作用。现在它起作用了。谢谢。@scarchael:这不应该发生P无论如何,接受它作为答案。:)