我有一個MVC視圖,根據用戶的角色更改一些小的UI元素。目前它使用幾個if()語句使用我通過視圖模型發送給視圖的一對布爾值來修改輸出。然而,它看起來並不是一個很好的方法,所以我想要做的就是將這一切都轉移到HtmlHelper類或控制器本身。下面是當前的代碼:基於角色的UI更改的更好方法?
<% if (Model.IsAdmin) { %> <td> <% } %> <%--Opening tag for admin options--%>
<% if (Model.IsAdmin) { %> <%:Html.ActionLink("Delete", "Delete", new { id = Id})%> <% } %> <%--Admin options--%>
<% if (Model.IsAdmin) { %> </td> <% } %> <%--Closing tag for admin options--%>
有一個單獨的點在哪裏顯示/隱藏創建新的鏈接以及
<% if (Model.IsEditor || Model.IsAdmin) { %>
<%:Html.ActionLink("Create New", "Create") %>
<% } %>
可能有其他的這些情況一對夫婦爲好。
因此,任何我要構建的HtmlHelper都可能需要對不同情況進行重載,所以它可能需要非常靈活。我剛剛在我的腦海中圍繞着這個最好的方法,而且這似乎是別人可能已經想出來的一個常見問題...
謝謝!
感謝布萊斯,這就是我一直在尋找。雖然考慮到我可能有很多這些小檢查,但我認爲部分觀點可能是最好的方法。 – morganpdx 2010-10-05 21:10:41