Как добавить заполнитель для пустой таблицы данных ASP.NET MVC - PullRequest
0 голосов
/ 30 августа 2018

Я работаю над корзиной покупок, которая в основном состоит из строк в таблице с именем LineItems. Все работает нормально, однако, корзина имеет свойство быть пустым.

В этом случае я хотел бы иметь заполнитель на случай, если позиция не отображается - кто-нибудь подскажет, как мне лучше всего этого добиться? Я полагаю, что это можно сделать с помощью простого оператора if, например

if(item == null)
{
     [display placeholder message]
} 
else
{ 
     [existing code]
}

Вот соответствующий раздел представления:

<!-- table section -->
<section id="shoppingCartListPartialSection" class="table">
    <div id="shoppingCartSeparatorSection" class="separatorSection">
        <hr id="shoppingCartSeparator" class="separator" />
    </div>
    <div id="shoppingCart" class="productTableSection row">
        @foreach (var item in Model)
        {
            if (item.IsSingleOrder == false)
            {
                <div id="shoppingCartSubscriptionLineItemArea" class=" tableArea col-xs-offset-1 col-xs-10 col-sm-offset-1 col-sm-10 col-md-offset-1 col-md-10 col-lg-offset-2 col-lg-8">
                    @Html.HiddenFor(modelItem => item.ID, new { @class = "tableField col-xs-12 col-sm-12 col-md-12 col-lg-12" })
                    <a id="shoppingCartSubscriptionRemoveLink" class="tableField col-xs-1 col-sm-1 col-md-1 col-lg-1" href="@Url.Action("RemoveLineItem", "freshNclean", new { id = item.ID })">
                        <i id="shoppingCartSubscriptionRemove" class="fas fa-trash-alt"></i>
                    </a>
                    <a id="shoppingCartSubscriptionLineItemLink" class="tableField col-xs-10 col-sm-10 col-md-10 col-lg-10" href="@Url.Action("ProductSubscription", "freshNclean", new { id = item.ProductID })">
                        <div id="shoppingCartSubscriptionProductNameField" class="tableField col-xs-7 col-sm-8 col-md-9 col-lg-9">
                            @Html.DisplayFor(modelItem => item.ProductName)
                        </div>
                        <div id="shoppingCartSubscriptionProductPriceField" class="tableField col-xs-5 col-sm-4 col-md-3 col-lg-3">
                            CHF @Html.DisplayFor(modelItem => item.SubscriptionPrice)
                        </div>
                        <div id="shoppingCartSubscriptionProductQuantityField" class="tableField col-xs-4 col-sm-4 col-md-5 col-lg-5">
                            @Html.DisplayFor(modelItem => item.SubscriptionQuantity) x
                        </div>
                        <div id="shoppingCartSubscriptionCadenceValueField" class="tableField col-xs-3 col-sm-2 col-md-2 col-lg-1">
                            alle @Html.DisplayFor(modelItem => item.SubscriptionCadenceValue)
                        </div>
                        <div id="shoppingCartSubscriptionCadenceCategoryField" class="tableField col-xs-5 col-sm-6 col-md-5 col-lg-6">
                            @Html.DisplayFor(modelItem => item.SubscriptionCadenceCategory)
                        </div>
                        <div id="shoppingCartSubscriptionTotalPriceField" class="tableField col-xs-12 col-sm-12 col-md-12 col-lg-12">
                            CHF @Html.DisplayFor(modelItem => item.TotalPrice)
                        </div>
                    </a>
                    <a id="shoppingCartSubscriptionEditLink" class="tableField col-xs-1 col-sm-1 col-md-1 col-lg-1" href="#">
                        <i id="shoppingCartSubscriptionEdit" class="fas fa-edit"></i>
                    </a>
                </div>
            }
            else
            {
                <div id="shoppingCartSingleOrderLineItemArea" class=" tableArea col-xs-offset-1 col-xs-10 col-sm-offset-1 col-sm-10 col-md-offset-1 col-md-10 col-lg-offset-2 col-lg-8">
                    @Html.HiddenFor(modelItem => item.ID, new { @class = "tableField col-xs-12 col-sm-12 col-md-12 col-lg-12" })
                    <a id="shoppingCartSingleOrderRemoveLink" class="tableField col-xs-1 col-sm-1 col-md-1 col-lg-1" href="@Url.Action("RemoveLineItem", "freshNclean", new { id = item.ID })">
                        <i id="shoppingCartSingleOrderRemove" class="fas fa-trash-alt"></i>
                    </a>
                    <a id="shoppingCartSingleOrderLineItemLink" class="tableField col-xs-10 col-sm-10 col-md-10 col-lg-10" href="@Url.Action("ProductSingleOrder", "freshNclean", new { id = item.ProductID })">
                        <div id="shoppingCartSingleOrderProductNameField" class="tableField col-xs-7 col-sm-8 col-md-9 col-lg-9">
                            @Html.DisplayFor(modelItem => item.ProductName)
                        </div>
                        <div id="shoppingCartSingleOrderProductPriceField" class="tableField col-xs-5 col-sm-4 col-md-3 col-lg-3">
                            CHF @Html.DisplayFor(modelItem => item.SingleOrderPrice)
                        </div>
                        <div id="shoppingCartSingleOrderProductQuantityField" class="tableField col-xs-12 col-sm-12 col-md-12 col-lg-12">
                            @Html.DisplayFor(modelItem => item.SingleOrderQuantity) x
                        </div>
                        <div id="shoppingCartSingleOrderTotalPriceField" class="tableField col-xs-12 col-sm-12 col-md-12 col-lg-12">
                            CHF @Html.DisplayFor(modelItem => item.TotalPrice)
                        </div>
                    </a>
                    <a id="shoppingCartSingleOrderEditLink" class="tableField col-xs-1 col-sm-1 col-md-1 col-lg-1" href="#">
                        <i id="shoppingCartSingleOrderEdit" class="fas fa-edit"></i>
                    </a>
                </div>
            }
        }
    </div>

    <div id="shoppingCartListPartialMenuSeparatorSection" class="separatorSection">
        <hr id="shoppingCartListPartialMenuSeparator" class="separator" />
    </div>
    @Html.ActionLink("Bestellung abschliessen", "ShoppingCart", "", htmlAttributes: new { @class = "formButton col-xs-offset-1 col-xs-10 col-sm-offset-1 col-sm-10 col-md-offset-3 col-md-6 col-lg-offset-3 col-lg-6" })
</section>
...