如果输入标签放在foreach中,则不会呈现输入标签

时间:2019-04-24 01:31:28

标签: c# asp.net-mvc

由于某种原因,如果将输入标签放入foreach循环中,则不会显示它们。

@foreach (var item in Model.KhuyenMais) { 
    <input class="form-control" name="SoLuongKM" value="@item.SoLuong" />
}

3 个答案:

答案 0 :(得分:1)

您可以检查并显示模型中没有物品的时间

@if(Model.KhuyenMais != null && Model.KhuyenMais.Count > 0)
{
     foreach (var item in Model.KhuyenMais) 
     { 
        <input class="form-control" name="SoLuongKM" value="@item.SoLuong"/>
     }
}
else
{
   <span> There is no result </span>
}

答案 1 :(得分:0)

这是正确的语法,并且始终呈现输入标签。

您需要检查Model.KhuyenMais的长度是否为零。

<p>KhuyenMais count: @Model.KhuyenMais.Count</p>

@foreach (var item in Model.KhuyenMais) { 
    <input class="form-control" name="SoLuongKM" value="@item.SoLuong" />
}

答案 2 :(得分:0)

我假设您的模型没有值Model.KhuyenMais

请参见以下代码段:

.CSHTML文件代码

@foreach (var item in MyWebApp.Controllers.MyClass.AssetList )
{
    <input class="form-control" name="SoLuongKM" value="@item.AssetName" />
}

C#控制器文件代码

public ActionResult TreeListExport()
{
    List<Asset> oAsset = new List<Asset>();

    oAsset.Add(new Asset {AssetId =1, AssetName ="computer"});
    oAsset.Add(new Asset {AssetId =1, AssetName ="keyboard"});
    oAsset.Add(new Asset {AssetId =1, AssetName ="mouse"});

    MyClass.AssetList = oAsset;

    return View();
}