额外的如果C#中的语句或重复代码

Mar*_*way 3 c# asp.net-mvc asp.net-mvc-2

试图弄清楚哪个更有意义

<%foreach (var item in Model.items)
   {
%>
<tr>
    <td>
        <% if (!item.isMgmt)
           {  %>
        <a href="/MVC/AzureMail/Unfiled/<%:item.uName %>">
            <%:item.uName%></a>
        <% }
           else
           { %>
        <%:item.uName %>
        <% } %>
    </td>
</tr>
<% } %>
Run Code Online (Sandbox Code Playgroud)

要么

 <%foreach (var item in Model.items)
   {
%>
<tr>
    <td>
        <% if (!item.isMgmt)
           {  %>
        <a href="/MVC/AzureMail/Unfiled/<%:item.uName %>">
        <% } %>
              <%:item.uName%>
        <% if (!item.isMgmt)
           {  %>
              </a>
        <% } %>
    </td>
</tr>
<% } %>
Run Code Online (Sandbox Code Playgroud)

Jam*_*iec 12

第三选择; 条件链接的扩展方法.

public static string ConditionalHyperlink(this HtmlHelper helper, string url, string text, bool shouldLink){
 ...
}
Run Code Online (Sandbox Code Playgroud)

这使您的View更具可读性.

<%= Html.ConditionalHyperlink("/MVC/AzureMail/Unfiled/" + item.Name, item.Name, item.isMgmt) %>
Run Code Online (Sandbox Code Playgroud)