c# - 在 foreach 循环中动态显示按钮

标签 c# asp.net-mvc linq razor

我的 foreach 循环中有两个按钮。我需要两者都出现,除非它是循环中的第一项或循环中的最后一项。

@foreach (var item in @Model.IPACS_Processes.IPACS_Procedures)
{
    <li class="span6">
        <img src="../../Images/thumbs/doc.png" alt="" class="pull-left" />
        <div class="comment-info">
            <h4>
                <a href="@Url.Action("ViewProcedure", new { id = item.procedureID })" data-original-title="@item.name">
                    @item.name</a></h4>
            <h5>
                <small>Owner: </small> <a href="javascript:void(0);">@item.owner</a></h5>
                <br />
            <p>
            @item.description
            </p>
            <br />
            <p>
                <a href="" class="btn btn-small"><span class="iconfa-double-angle-up icon-white">
                </span>Move Up</a>

                <a href="" class="btn btn-small"><span class="iconfa-double-angle-down"></span>
                    Move Down</a>
            </p>
        </div>
    </li>
    <br style="clear: both;" />
}

我需要“上移”按钮可见,除非它是循环中的第一项,然后我需要“下移”按钮可见,除非它是循环中的最后一项。

我不确定设置计数迭代器是我唯一的选择,还是有更简洁的方法?

最佳答案

您可以简单地设置一个索引并将其与数组的上限和下限进行比较,或者使用数组的 Count 属性。

像这样。

@{
  int i = 0;

  foreach (var item in Model.IPACS_Processes.IPACS_Procedures)
  {
    <!-- stuff and stuff --!>

    if(i > 0) {
            <a href="" class="btn btn-small"><span class="iconfa-double-angle-up icon-    white">
            </span>Move Up</a>
    }

    if(i < Model.IPACS_Processes.IPACS_Procedures.Count)
    {
            <a href="" class="btn btn-small"><span class="iconfa-double-angle-down">     </span>
                Move Down</a>
    }

    i++;

  }
}

关于c# - 在 foreach 循环中动态显示按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18747089/

相关文章:

C#、treeView、如何更改标准的右键单击行为

c# - 通过 Ajax 调用 MVC 异步操作,启动任务,在任务完成之前发送 ajax 响应?

asp.net-mvc - 将 Nuget 用于共享 View

css - 如何响应地调整方形按钮的大小?

linq - 使用 Reactives 合并分块消息

c# - 有没有办法在 Switch 表达式中跳过或继续,或者每个分支都需要返回一些东西?

c# - 如何在不导致无限循环的情况下向 XML 文件添加数据

c# - 在 C# 中验证不同的日期格式

c# - linq改变结果集的值

c# - 如何使用 linq 在 C# 中过滤字符串以排除所有字母和数字?