Я создаю диспетчер доступа пользователей в MVC
. Я пытаюсь сделать выбор в dropdown
(адрес электронной почты), и когда этот выбор сделан, запустите SQL query
и на основе значения, извлеченного из sql, сделайте выбор во втором раскрывающемся меню, после второго раскрывающийся список уже заполнен элементами списка.
Код, который у меня есть в настоящее время - я надеюсь на какое-то направление, так как я не уверен, как это объединить. Можно ли взять код в моем контроллере и установить его как функцию в виде бритвы, чтобы он запускал этот код при нажатии кнопки?
Просмотр
@using (Html.BeginForm("CheckUser", "AccountController", FormMethod.Get))
{
<div class="mycontainer2" style="position:absolute; top:20%; left:40%; background-color:#757575;">
<h4>Select A User</h4>
@Html.DropDownList("UserEmails", (IEnumerable<SelectListItem>)ViewData["UserEmails"], "None Selected", new { @id = "UserEmails", @class = "btn btn-sm", @onchange = "this.form.submit();" })
@Html.HiddenFor(m => m.SelectedClientText)
</div>
<div class="mycontainer2" style="position:absolute; top:30%; left:40%; background-color:#757575;">
<h4>Select Clients</h4>
@Html.ListBox("MYClients", (IEnumerable<SelectListItem>)ViewData["MYClients"], new { @id = "MYClients", @class = "btn btn-secondary btn-sm", @multiple = "multiple" })
<br />
<button type="button" class="btn btn-danger">Update</button>
</div>
}
Script
<script>
$("#UserEmails").on("change", function () {
$("form").submit();
});
</script>
Контроллер
[HttpPost]
public Task<ActionResult> CheckUser(FormCollection Form)
{
managerEntities db1 = new managerEntities();
string UserEmail = Form["UserEmails"].ToString();
var ClientAccess = db1.users.SqlQuery("My query where Email = @email ", new SqlParameter("@email", UserEmail)).ToString();
string[] SelectedClients = ClientAccess.Split('|');
return View();
}