Javascript 如果用户尚未登录,则弹出用户登录窗口

Javascript 如果用户尚未登录,则弹出用户登录窗口,javascript,jquery,ajax,asp.net-mvc,asp.net-mvc-5,Javascript,Jquery,Ajax,Asp.net Mvc,Asp.net Mvc 5,我有一个用ASP.NETMVC5编写的web应用程序。在.cshtml中应该有一个登录页。当用户单击此页面上的按钮时,我将检查用户是否已登录(通过检查特定cookie的存在及其有效值)。如果用户已登录,则登录页应替换为目标页。如果用户尚未登录,将显示一个弹出窗口,供其输入登录凭据。如果输入正确,登录弹出窗口应关闭,然后目标页面将替换登录页面 因为我以前没有MVC的经验,所以我需要一些帮助。当用户单击登录页上的按钮时,如何向服务器发送请求以检查他是否已登录,并且仅当用户已登录时才将登录页替换为目标

我有一个用ASP.NETMVC5编写的web应用程序。在.cshtml中应该有一个登录页。当用户单击此页面上的按钮时,我将检查用户是否已登录(通过检查特定cookie的存在及其有效值)。如果用户已登录,则登录页应替换为目标页。如果用户尚未登录,将显示一个弹出窗口,供其输入登录凭据。如果输入正确,登录弹出窗口应关闭,然后目标页面将替换登录页面

因为我以前没有MVC的经验,所以我需要一些帮助。当用户单击登录页上的按钮时,如何向服务器发送请求以检查他是否已登录,并且仅当用户已登录时才将登录页替换为目标页?此外,如果显示登录弹出窗口,并且用户输入了正确的凭据,如何用目标页面替换登录页面

举个简单的例子就好了


提前感谢。

我将尝试从更高的层次回答这个问题,而不是提供一个通用但更技术的示例,可能需要重新编码以满足您的需要

在模型上需要一个布尔变量,我们称之为loggedIn。这将表示用户的登录状态

  • 您希望控制器首先检查cookies

  • 如果cookie读取到他们已登录,则将loggedIn分配为true

  • 如果cookie读取到它们未登录,则将loggedIn分配给false

将模型传递到视图后,可以使用RAZOR读取loggedIn布尔值。如果为真,则显示内容。如果为false,则显示登录的部分视图

您提到的控制器是否用于登录页(在显示登录页之前调用)?是的,对于每个需要通过登录进行身份验证的页面,您需要设置控制器操作。这意味着,如果您有5个页面,您将设置5个控制器操作。您可以封装读取cookie并返回布尔值的逻辑,以便在控制器操作中调用它。您的解决方案太模糊,无法回答我的问题。我知道控制器是什么,在我的情况下他们应该做什么。我不知道如何做的是,当点击登录页上的按钮时,如何触发控制器。我想也许这里需要一个AJAX调用。一个模糊问题的模糊答案。MVC有您所需要的,但这也可以在客户端完成。也许可以为你的问题提供更多的细节。试着看看这个答案:可能是重复的