條件從的NerdDinner ASP.NET MVC範例應用程序MVC - 在視圖
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %>
<%
if (Request.IsAuthenticated) {
%>
Welcome <b><%= Html.Encode(Page.User.Identity.Name) %></b>!
[ <%= Html.ActionLink("Log Off", "LogOff", "Account") %> ]
<%
}
else {
%>
[ <%= Html.ActionLink("Log On", "LogOn", "Account") %> ]
<%
}
%>
這是命名爲LoginStatus.ascx局部視圖用戶控件引用。正如你所看到的那樣,存在改變視圖的「整個」輸出的條件。這是正確的方法。如果控制器評估這種情況,然後渲染適當的局部視圖,會不會更好?
不管你對上一個問題的回答如何在ASP.NET MVC中採用後一種方法,即父視圖可以調用控制器(而不是執行UserControl的RenderPartial),並讓它決定哪個部分視圖呈現?
@Ngu Soon Hui:謝謝 – 2009-04-17 07:51:51