我创建了一个简单的MVC应用程序,它使用了新项目提供的.Net Membership Provider。
我试图正确显示选项卡。可能我理解有误,但这是我的代码:
<!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.5.1.min.js")" type="text/javascript"></script>
</head>
<body>
<div class="page">
<div id="header">
<div id="title">
<h1>Suburban Customer Portal</h1>
</div>
<div id="logindisplay">
@Html.Partial("_LogOnPartial")
</div>
<div id="menucontainer">
<ul id="menu">
@if (Request.IsAuthenticated)
{
<li>@Html.ActionLink("ChangePassword", "ChangePassword", "Account")</li>
}else {
<li>@Html.ActionLink("Logon", "Logon", "Account")</li>
<li>@Html.ActionLink("Register", "Register", "Account")</li>
}
<li>@Html.ActionLink("ContactUs", "ContactUs", "Home")</li>
</ul>
</div>
</div>
<div id="main">
@RenderBody()
</div>
<div id="footer">
</div>
</div>
</body>
</html>
在这一行:
@if (Request.IsAuthenticated)
我试图根据用户是否已经认证来显示正确的选项卡,但这总是返回true...
我应该如何做?显然我没有以正确的方式处理它...
再次感谢!
Request.IsAuthenticated
应该始终等于User.Identity.IsAuthenticated
。请参见这里:http://forums.asp.net/t/1416811.aspx - Leniel Maccaferri