gpt4 book ai didi

asp.net-mvc-3 - 如果 Razor 中的 else 语句不起作用

转载 作者:行者123 更新时间:2023-12-03 10:45:20 25 4
gpt4 key购买 nike

我在 Razor View 中使用 if else 来检查空值,如下所示:

 @foreach (var item in Model)
{
<tr id="@(item.ShopListID)">
<td class="shoptablename">@Html.DisplayFor(modelItem => item.Name)
</td>
<td class="shoptableamount">
@if (item.Amount == null)
{
Html.Display("--");
}
else
{
String.Format("{0:0.##}", item.Amount);
}
</td>
</tr>

}

但是,无论我的模型金额为空还是有值,呈现的 html 都不包含金额中的任何值。

我想知道为什么会这样。任何的想法?

谢谢...

编辑:

决定在 Controller 中做到这一点:
   // Function to return shop list food item amount
public string GetItemAmount(int fid)
{
string output = "";

// Select the item based on shoplistfoodid
var shopListFood = dbEntities.SHOPLISTFOODs.Single(s => s.ShopListFoodID == fid);

if (shopListFood.Amount == null)
{
output = "--";
}
else
{
output = String.Format("{0:0.##}", shopListFood.Amount);
}
return output;
}

并在 View 调用,如:
 <td class="shoptableamount">
@Html.Action("GetItemAmount", "Shop", new { fid = item.ShopListFoodID })
</td>

最佳答案

您必须使用 @()

            @if (item.Amount == null)
{
@("--");
}
else
{
@String.Format("{0:0.##}", item.Amount)
}

正如评论和其他答案中所述, Html.Display不是用于显示字符串,而是用于显示来自 ViewData 的数据字典或来自 Model .阅读 http://msdn.microsoft.com/en-us/library/ee310174%28v=VS.98%29.aspx#Y0

关于asp.net-mvc-3 - 如果 Razor 中的 else 语句不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8549455/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com