2011-11-22 77 views
0

我正在使用ASP.NET 3.0 MVC与成员资格提供程序。我必须对使用会员相关代码获得的默认实现进行修改。我必须在主页面中移动LogOff超链接。最初这个链接是不可见的,但一旦认证成功,我需要使其可见。此操作将从Controller进行身份验证,我不确定如何访问在不同控制器的母版页中定义的超链接。任何想法如何能够实现MVC设计的精神?访问来自不同控制器的主页超链接

回答

1

您可以在您的AccountController中创建另一个动作来确定是否需要显示注销链接。此操作对html有部分偏好。从主页面调用此新操作,并在需要显示注销链接时检入该操作。

@{ Html.RenderAction("displayLogOff", "Account"); } 
+0

我需要做相反的事情。一旦用户在(AccountController)中进行了身份验证,我想要显示此超链接。 –

+0

是否要将注销链接从主页面移动到登录页面? – Dallas

+0

否;将其保留在母版页中,但希望通过其中一个内容页使其可见 –

0

我不知道为什么你需要进行修改,因为这似乎是默认行为,但通常你会使用局部视图来显示注销超链接。这个局部视图可以运行一个动作,并且在这个动作中,你可以发送一个模型到视图中,该视图可以包含一个用于当前用户身份验证的标志。或者,您可以直接在部分视图中检查Request.IsAuthenticated。

0

我不知道我理解。默认的实现已经这样做了。无论您使用的是什么控制器,它都可以工作。原因是母版页使用指定方法和控制器的部分页面。