条件从的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