3

我在一个视图文件里面有类似的东西

 @Html.ActionLink("Details", "Details", new { id=item.RuleId }) |                     
  @Html.ActionLink("Edit", "Edit", new { id = item.RuleId }) |
  @Html.ActionLink("Delete", "Delete", new { id = item.RuleId })

这可行,但是当我将其更改为类似

 @Html.ActionLink("Details", "Details", new { id=item.RuleId }) |

     @if( something )
  {                
  Html.ActionLink("Edit", "Edit", new { id = item.RuleId });
  Html.ActionLink("Delete", "Delete", new { id = item.RuleId });
  }     

它停止显示第二个和第三个项目(虽然正在进入分支)。

任何想法为什么?

4

2 回答 2

10

Html.ActionLink返回一个IHtmlString包含<a>标签的对象。
它自己不做任何事情。

您的代码忽略了这个结果,所以什么也没有发生。

@您需要使用字符将结果打印到页面上。

于 2013-07-08T19:03:51.803 回答
0

用这个替换你的代码:

@Html.ActionLink("Details", "Details", new { id=item.RuleId }) |

@if( something )
{                
  @Html.ActionLink("Edit", "Edit", new { id = item.RuleId })
  @Html.ActionLink("Delete", "Delete", new { id = item.RuleId })
}  
于 2013-07-08T19:07:08.880 回答