【问题标题】:How to return an error if UserName Password does not match in MVC 4?如果用户名密码在 MVC 4 中不匹配,如何返回错误?
【发布时间】:2013-08-07 15:50:44
【问题描述】:

我是 MVC 新手,我想创建一个简单的登录控件。我在控制器中编写了以下代码:

public ActionResult LoginControl(String UserName, String Password)
    {
        string result = "";
        if (UserName == "ram" && Password == "ram123")
        {
            result = "1";
        }
        if (result == "1")
        {
            return View("LoginControl");
        }
        else
        {
            return View("Index", "Login");
        }
    }

现在我要做的是:如果用户名和密码不匹配,它会显示错误“用户名或密码不匹配或用户不存在。”,请帮助我该怎么办。

【问题讨论】:

    标签: asp.net-mvc asp.net-mvc-4 login


    【解决方案1】:

    您可以向 ModelState 添加错误:

    else
    {
        ModelState.AddModelError("", "Invalid username or password");
        return View("Index", "Login");
    }
    

    然后在相应的视图中使用 ValidationSummary 帮助器来显示错误:

    @Html.ValidationSummary()
    

    【讨论】:

    • 你能再建议我一件事吗:我将按钮点击的静态值传递为: 我想从文本框中获取它我该怎么做
    • 不要使用按钮点击。使用带有提交按钮的 Html.BeginForm。这样,当表单提交时,值将自动发送到控制器操作。
    【解决方案2】:

    您可以将结果传递给视图,然后显示在那里。 为此,请创建一个 TempData 键并将结果传递到那里,然后在视图中您可以获得 tempdata 键的值,然后显示在那里。

    这是一个如何使用它的例子:ViewBag, ViewData and TempData

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-10-18
      • 1970-01-01
      • 2022-07-06
      • 1970-01-01
      • 1970-01-01
      • 2016-05-09
      • 1970-01-01
      • 2021-04-10
      相关资源
      最近更新 更多