我有一个HomeController,其中定义了登录和仪表板操作。但是,当我通过登录操作请求url / Home / Dashboard时,出现服务器错误(HTTP 404)。我也为Login和Dashboard定义了视图。我的HomeController是这样的。
public class HomeController : Controller
{
public ActionResult Login()
{
return View();
}
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Login(UserProfile objUser)
{
if (ModelState.IsValid)
{
using(DB_Entities db = new DB_Entities())
{
var obj = db.UserProfiles.Where(a => a.UserName.Equals(objUser.UserName) && a.Password.Equals(objUser.Password)).FirstOrDefault();
if (obj != null)
{
Session["UserID"] = obj.UserId.ToString();
Session["UserName"] = obj.UserName.ToString();
return RedirectToAction("Dashboard");
}
else
{
ViewBag.Message = "Invalid Username or Password";
}
}
}
return View(objUser);
}
public ActionResult Dashboad()
{
if (Session["UserID"] != null)
{
return View();
}
else
{
return RedirectToAction("Login");
}
}
}
登录操作正常。
纠正Action名称中的拼写错误:
public ActionResult Dashboard()
错误(HTTP 404)是典型的资源找不到错误。因此,请检查仪表板操作名称。
请将操作“public ActionResult Dashboard()”更新为“public ActionResult Dashboard()”,您将解决问题。
仪表板定义和重定向中存在拼写错误。