ボタンクリックでコントローラに渡されるテキストボックスの値が必要なWebアプリケーションを構築しています。ユーザーの役割に応じて、別のページにリダイレクトする必要があります。以下は私のコードです。ビューからコントローラへのテキストボックス値の受け渡し
ビュー:
@model namespace.ViewModels.LoginVM
@{
ViewBag.Title = "Login";
}
<h1>User Login</h1>
@using (Html.BeginForm("Login", "Login", 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
{
[HttpPost]
public ActionResult Login()
{
MySQL msql = new MySQL();
// var empID= *how do I get empID on submit from View?* ;
var role = msql.Select("Select `role` from empDB where `eID` = '" + empID+ "'");
//if(role = "admin") { return RedirectToAction("Home"); }
//else {return View(); }
}
}
モデル:
public class LoginVM
{
[Required(ErrorMessage = "Required!")]
[DisplayName("empID")]
public int empID{ get; set; }
}
のためのパラメータとしてビューモデルを追加する必要がありますか? – CodeNotFound
ボタンのクリック時に、コントローラにテキストボックスの値を取得できませんでした。 – NinjaDev
あなたの 'Login'アクションメソッドに' LoginVM model'を追加し、 'model.empID'を使用します。 – CodeNotFound