如何隐藏或删除<li>背后的C#代码</li>

时间:2013-12-20 19:26:55

标签: c#

从我的代码背后我将从循环中添加<li>集。像这样:

foreach (var item in optionalOrderItems)
{
    var itemDetails = calculatedItems.Details
                                     .Where(d => d.ItemCode == item.ItemCode)
                                     .FirstOrDefault();
    if (itemDetails == null)
        continue;

    articleContent.Append(string.Format(@"
            <li>
                <span class='quantity'><span class='label'>{0:N0}</span></span>
                <span class='description' style='width:110px;'>{1}</span>  " +
                (show ? @"<span class='description' style='width:60px;text-align:right;'>({5:N0} {6})</span>  "
                      : "") +
                @"<a href="" javascript:Enrollment.Shopping.DeleteItem('{2}','{4}', 'order');"" class='close {3}' style='line-height:28px;' title='Remove'>&times;</a>
                <div class='clear'></div>
            </li>",
        itemDetails.Quantity,
        itemDetails.Description,
        itemDetails.ItemCode,
        (!allowItemModifications) ? "hidden" : string.Empty,
        item.Type,
        itemDetails.Other2Each * item.Quantity,
        Content.CommonLabelPV));

    subtotal = subtotal + itemDetails.PriceEach*itemDetails.Quantity;
}

但在我的一个条件中,我想从后面的代码中删除<li>之一。

所以我的问题是:如何从后面的代码中删除特定的<li>

2 个答案:

答案 0 :(得分:0)

对于主要问题,你不能。

使用JavaScript删除或在C#中填充列表时不添加。

在某些情况下,您可以在帖子之后使用ScriptManager.RegisterClientScriptBlock

JS:

function removeLI(){
    $([li]).remove();
}

答案 1 :(得分:0)

与大卫在评论中提到的相似,只需检查条件,如果失败则不要这样做。

if (itemDetails == null || SOMEOTHERTRUESTATEMENT)
    continue;