我有这段代码:
<!DOCTYPE html>
<html>
<head>
<title>@ViewBag.Title</title>
<link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />
<script src="@Url.Content("~/Scripts/jquery-1.4.4.min.js")" type="text/javascript"></script>
</head>
<body>
<div id="header">
<div id="header-inside">
<div id="logo"></div>
<div id="top-menu">
<a href="#">Home</a> | <a href="#">About</a> | <a href="#">Contact</a> |
</div>
</div>
</div>
<div id="content">
@RenderBody()
</div>
</body>
</html>
我想在那里添加一个登录按钮,用于检测用户是否已登录,如果是用户,则会转为“注销”。我正在使用会员服务,所以我会使用MembershipUser
答案 0 :(得分:3)
如果您拥有Request
对象,则可以使用Request.IsAuthenticated
(MSDN文档here),无论您如何在幕后管理用户,只要它插入系统ASP .NET提供。
示例:
@if(Request.IsAuthenticated){
<div id="logout_button"/>
} else {
<div id="login_button"/>
}
答案 1 :(得分:1)
您可以使用Request.IsAuthenticated
来检测用户是否已登录。
答案 2 :(得分:0)
<%= Page.User.Identity.IsAuthenticated %>
或
<% Request.IsAuthenticated %> should do the trick
答案 3 :(得分:0)
以下是基于默认项目模板中_LogOnPartial.cshtml的片段:
@if(Request.IsAuthenticated) {
using (Html.BeginForm("LogOff", "Account"))
{
<input type="submit" name="login" value="Log Off" />
}
}
else
{
@:[ @Html.ActionLink("Log On", "LogOn", "Account") ]
}