User1535942433 posted
Hi Markus33,
Accroding to your description and codes,as far a I think,there are some problems with your codes,for example:
1.The View is not calling the Verify() action in the controller.
2.ConnectionStrings name is wrong.
More details,you could refer to below codes:
View:
<head>
<meta name="viewport" content="width=device-width" />
<title>Index</title>
<script src="~/Scripts/jquery-3.0.0.min.js"></script>
<script src="~/Scripts/bootstrap.min.js"></script>
<link href="~/Content/bootstrap.min.css" rel="stylesheet" />
</head>
<body>
@using (Html.BeginForm("Verify", "Website"))
{
<div class="sidenav">
<div class="=login-main-text">
<h2>Application<br />Login Page</h2>
<p>Login or register from here to access.</p>
</div>
</div>
<div class="main">
<div class="col-md-6 col-sm-12">
<div class="login-form">
<div class="form-group">
<label>User Name</label>
<input name="name" type="text" class="form-control" placeholder="User Name" />
</div>
<div class="form-group">
<label>User Name</label>
<input name="password" type="text" class="form-control" placeholder="Password" />
</div>
<button type="submit" class="btn btn-black">Login</button>
<button type="submit" class="btn btn-secondary">Register</button>
</div>
</div>
</div>
}
Controller:
[AllowAnonymous]
[HttpGet]
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult Verify(Account acc)
{
string cs = ConfigurationManager.ConnectionStrings["CrudApp"].ConnectionString;
SqlConnection connection = new SqlConnection(cs);
connection.Open();
string commandText = "SELECT * FROM login WHERE username=@Username AND password=@Password";
SqlCommand command = new SqlCommand(commandText, connection);
command.Parameters.AddWithValue("@Username", acc.name);
command.Parameters.AddWithValue("@Password", acc.password);
SqlDataReader dr = command.ExecuteReader();
if (dr.Read())
{
connection.Close();
TempData["Message"] = "Login failed.User name or password supplied doesn't exist.";
}
else
{
connection.Close();
Console.Write(2);
}
return View();
}
public class Account
{
public string name { get; set; }
public string password { get; set; }
}
Webconfig:
<connectionStrings>
<add name="CrudApp" connectionString="Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=aspnet-TestApplicationWithDatabase-20190820030542;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False" providerName="System.Data.SqlClient" />
</connectionStrings>
More details,you could refer to below article:
https://stackoverflow.com/questions/38807926/validate-login-form-asp-net-mvc
Best regards,
Yijing Sun