在我的网站中,当用户登录时,我想显示用户名并显示注销按钮。
在ASP.NET 4.0中,我们可以使用母版页的代码隐藏文件来编写像这样的常见事物的代码。但我不知道如何在MVC3中实现这一目标。我不想在每个页面视图上传递用户名,并在每个控制器上添加注销的操作链接。
有人能建议更好的方法吗?
由于
Saarthak
答案 0 :(得分:1)
你可以使用部分。默认模板就是这样做的。使用内置向导创建一个新的ASP.NET MVC 3应用程序,并查看为您生成的_LogOnPartial.cshtml
部分,以及使用_Layout.cshtml
在@Html.Partial("_LogOnPartial")
中调用的部分。
这部分看起来像这样:
@if(Request.IsAuthenticated) {
<text>Welcome <strong>@User.Identity.Name</strong>!
[ @Html.ActionLink("Log Off", "LogOff", "Account") ]</text>
}
else {
@:[ @Html.ActionLink("Log On", "LogOn", "Account") ]
}
它会检查用户是否经过身份验证,是否是它欢迎他并提供LogOff链接,如果不是,则只提供LogOn链接。
如果您使用的是WebForms视图引擎,则相同:
使用LogOnUserControl.ascx
从Site.Master
调用 <% Html.RenderPartial("LogOnUserControl"); %>
。