В основном, когда я делаю это
public ActionResult ValidateLogin()
{
return View();
}
Теперь это работает нормально. Когда я использую в этом случае, скажем, блок try catch, и я делаю что-то вроде return RedirectToAction("Dashboard");
в блоках try catch, я также ожидаючто он должен проверить обозначение, прежде чем он перенаправит пользователя на главную страницу, он запускается и ошибка, как не все пути возвращают значение.
Мой исходный код выглядит так
public ActionResult ValidateLogin(UserAuthClass auth)
{
string constring = @"Data Source=DESKTOP-9CM4N5S\SQLEXPRESS;Initial Catalog=MVCLogintestDB;Integrated Security=True";
using (SqlConnection con = new SqlConnection(constring))
{
con.Open();
string query = "select * from [MVCLogintestDB].[dbo].[users_table] where username = @username and password= @password and designation = @designation";
using (SqlCommand cmd = new SqlCommand(query, con))
{
cmd.Parameters.AddWithValue("@username",auth.username);
cmd.Parameters.AddWithValue("@password", auth.password);
cmd.Parameters.AddWithValue("designation", auth.designation);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
try
{
da.Fill(dt);
if (dt.Rows.Count > 0)
{
if (auth.designation == "Admin")
{
return RedirectToAction("AdminDashboard");
}
else if (auth.designation == "Security")
{
return RedirectToAction("SecurityDashboard");
}
else if (auth.designation == "Visitor")
{
return RedirectToAction("VisitorDashboard");
}
}
else
{
return RedirectToAction("WrongPasswordArea");
}
}
catch(Exception ex)
{
throw ex;
}
}
}
}
Я пытаюсь понять, в чем дело, что мне здесь не хватает?