我有一個網站,我需要根據他們的角色重定向用戶。點擊按鈕時,如果用戶是管理員,則重定向到另一個頁面;否則重新加載相同的頁面。在按鈕點擊時,無論登錄誰都會加載索引頁。在調試時發現,[HttpPost]
屬性根本沒有被觸發。HttpPost沒有被觸發
查看:
@model namespace.ViewModels.LoginVM
@{
ViewBag.Title = "Login";
}
<h1>User Login</h1>
@using (Html.BeginForm("Index", "Home", FormMethod.Post))
{
<br />
<div style="background-color: skyblue; width: 50%">
<div style="padding-left: 1em">
<div class="display-label" style="font-size: large">
Enter User Info<br />
<br />
</div>
<div>
<div class="editor-label">@Html.LabelFor(model => model.empID)</div>
<div class="editor-field">@Html.TextBoxFor(model => model.empID)
@Html.ValidationMessageFor(model => model.empID)
</div>
<br />
</div>
<br />
<div>
<input id="submit" type="submit" value="Submit" />
</div>
</div>
</div>
<br />
}
控制器:
public class LoginController : Controller
{
[HttpGet]
public ActionResult Login()
{
return View();
}
[HttpPost]
public ActionResult Login(LoginVM model)
{
MySQL msql = new MySQL();
var empID= model.empID
var role = msql.Select("Select `role` from empDB where `eID` = '" + empID + "'");
if(role == "admin")
{
return RedirectToAction("Index","Home");
}
else
{
return View();
}
}
}
當你調試這個,它是如何失敗?什麼是數據庫查詢正在執行? 「角色」中存儲的結果是什麼? – David
無論我輸入什麼'empID',我的代碼都不會檢查它的'角色',用戶會被重定向到'index'頁面。我的代碼查詢'empID'並將輸入'empID'的角色存儲到變量'role'中。 –
'「我的代碼沒有檢查它的作用」 - 所以這個完整的方法並沒有被執行*那麼,*正在執行什麼? *實際問題*在哪裏?您需要具體說明,沒有人可以爲您進行調試。 – David