Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用分隔符连接剃须刀输出_C#_Asp.net_Asp.net Mvc_Asp.net Mvc 5 - Fatal编程技术网

C# 使用分隔符连接剃须刀输出

C# 使用分隔符连接剃须刀输出,c#,asp.net,asp.net-mvc,asp.net-mvc-5,C#,Asp.net,Asp.net Mvc,Asp.net Mvc 5,我的ASP.NET MVC5站点视图包含以下逻辑: <td nowrap> @if (item.CanUnblock) { @Html.ActionLink("Unblock", "Unblock", new { @id = item.Id }) } @if (item.CanSuspend) { @Html.ActionLink("Suspend", "Suspend", new { @id = item.Id

我的ASP.NET MVC5站点视图包含以下逻辑:

<td nowrap>
    @if (item.CanUnblock)
    {
        @Html.ActionLink("Unblock", "Unblock", new { @id = item.Id })
    }
    @if (item.CanSuspend)
    {
        @Html.ActionLink("Suspend", "Suspend", new { @id = item.Id })
    }
</td>
它们彼此相邻。我想做的是添加一个分隔符

我可以这样做:

<td nowrap>
    @if (item.CanUnblock)
    {
        @Html.ActionLink("Unblock", "Unblock", new { @id = item.Id }) @:|
    }
    @if (item.CanSuspend)
    {
        @Html.ActionLink("Suspend", "Suspend", new { @id = item.Id })
    }
</td>
Unblock
这正是我所期望的。问题是,如果我只能
取消阻止
,我会看到:

Unblock |
但是,如果只有一个链接可见,我希望这样:

<td nowrap>
    @if (item.CanUnblock)
    {
        @Html.ActionLink("Unblock", "Unblock", new { @id = item.Id }) @:|
    }
    @if (item.CanSuspend)
    {
        @Html.ActionLink("Suspend", "Suspend", new { @id = item.Id })
    }
</td>
Unblock

如果没有丑陋的解决方案,比如在变量中存储关于分隔符的信息,比如
isSeparatorAdded

你可以在你当前的两个
if
之间引入另一个
if
条件,并做一些类似
if(item.CanUnblock&&item.Suspend){|}
@Izzy的事情,事实上有两个以上的if。如果第一个和第三个
返回
true
,该怎么办?大量混乱的代码。您可以创建列表元组,其中布尔值表示是否应显示项,字符串表示相应的url。然后,您应该通过foreach迭代您的列表,如果item不是最后一个,则插入分隔符。您可以在当前的两个
if
之间引入另一个
if
条件,并执行类似于
if(item.CanUnblock&&item.Suspend){}
@izy的操作,事实上有两个以上的if。如果第一个和第三个
返回
true
,该怎么办?大量混乱的代码。您可以创建列表元组,其中布尔值表示是否应显示项,字符串表示相应的url。然后,您应该通过foreach迭代列表,若项不是最后一个,则插入分隔符。