你好呀,
我正在寻找在用户登录后禁用打开链接 /Account/Register 的解决方案。我对 asp.net 应用程序的了解仍然很低,需要锻炼。
该链接在主页中被禁用,但是当我手动将链接输入到地址栏中时,例如:http ://example.com:23456/Account/Register我得到了登录用户的实际注册。
我需要做的是在加载注册页面并重定向到主页之前检查是否有登录用户。
对于我在这个论坛上回答的许多问题,但现在我需要帮助..
先感谢您 :)
在您的Page_Load
事件中,您可以检查用户是否已登录,如果已登录则重定向他:
protected void Page_Load(object sender, EventArgs e)
{
if (HttpContext.User.Identity.IsAuthenticated)
{
Response.Redirect("~/Default.aspx"); //redirect to main page
}
}
请注意,这是 ASP.NET 的解决方案。和MVC
变体:
public ActionResult Register()
{
if (!HttpContext.User.Identity.IsAuthenticated)
{
return View();
}
else
{
return RedirectToAction("Index");
}
}
在注册的 page_load 事件中,检查是否已经在应用程序中注册,如果他是,则将他重定向到主页。你应该写这样的东西。
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if (MySessionHelper.UserInfo != null)
{
Response.Redirect("http://example.com:23456/", false);
}
}
}
这里 MySessionHelper.UserInfo 会话对象,其中包含登录/注册的用户信息