我正在使用带有成员资格提供程序的ASP.NET 3.0 MVC。我必须修改我们使用与成员资格相关的代码获得的默认实现。我必须在母版页中移动LogOff Hyperlink。最初这个链接是不可见的,但一旦身份验证成功,我需要让它可见。此操作将从Controller进行身份验证,我不知道如何从不同的控制器访问主页中定义的超链接。任何想法如何保持MVC设计的精神?
答案 0 :(得分:1)
您可以在AccountController中创建另一个操作,以确定是否需要显示注销链接。这个动作部分为html。如果需要显示注销链接,请从母版页调用此新操作并检查该操作。
@{ Html.RenderAction("displayLogOff", "Account"); }
答案 1 :(得分:0)
我不确定为什么你需要进行修改,因为这似乎是默认行为,但通常你会使用局部视图来显示注销超链接。此部分视图可以运行操作,在此操作中,您将向视图发送模型,该模型可以包括用户当前是否经过身份验证的标志。或者,您可以直接在局部视图中检查Request.IsAuthenticated。
答案 2 :(得分:0)
我不确定我理解。默认实现已经这样做了。无论您使用何种控制器,它都能正常工作。原因是母版页使用了指定方法和控制器的部分页面。