Я создаю раскрывающийся список, используя этот код
<div class="btn-group-vertical">
<select asp-for="Client.ClientCode"
asp-items="@(new SelectList(Model.Clients,"ClientCode","Client"))"
class="form-control" style="width:auto" id="client">
</select>
</div>
Затем я редактирую значение модели. Но когда я возвращаю эту модель, ничего не происходит. Значение раскрывающегося списка не изменилось. Я пытаюсь использовать ModelState.Clear ()
ModelState.Clear();
return View(model);
Это не работает. Я пытаюсь перезагрузить страницу, используя
window.location.reload(true);
Это тоже не работает. Я пытаюсь открыть страницу, используя
window.open(url, "_self");
Это тоже не работает. Есть ли какое-либо решение для обновления sh значения раскрывающегося списка?
Обновление: это код в поле зрения
[HttpGet]
public async Task<IActionResult> Setup(string id)
{
var model = HttpContext.Session.GetComplexData<SetupViewModel>("SetupModel");
if (model == null || !string.IsNullOrEmpty(id))
{
if (model == null || model.Client.ClientCode != id)
{
string clientCode = string.IsNullOrEmpty(id) ? "POI" : id;
var client = await projectRepository.GetClient(clientCode);
var ClientList = await projectRepository.GetAllClients();
var ProjectList = await projectRepository.GetAllProjects(client.ClientCode);
model = new SetupViewModel()
{
Clients = ClientList.ToList(),
Client = client,
Projects = ProjectList.ToList(),
};
HttpContext.Session.SetComplexData("SetupModel", model);
}
}
ModelState.Clear();
return View(model);
}
Это модель
public class SetupViewModel
{
public Projects Client { get; set; }
public List<Projects> Clients { get; set; }
public Projects Project { get; set; }
public List<Projects> Projects { get; set; }
public bool ProjectActive { get; set; }
public string ErrorMessage { get; set; }
}
вот почтовый индекс в контроллере
try
{
Employee employee = await employeeRepository.GetEmployeeByPhoneNumber(((ClaimsIdentity)User.Identity).FindFirst(AccountConstant.PhoneNumber).Value);
var model = HttpContext.Session.GetComplexData<SetupViewModel>("SetupModel");
foreach (var project in model.Projects)
{
project.ClientCode = newModel.Client.ClientCode;
project.Client = newModel.Client.Client;
await projectRepository.Update(project, employee);
}
model.Client.Client = newModel.Client.Client;
model.Client.ClientCode = newModel.Client.ClientCode;
TempData["Messages"] = "Edit client information has been successful.";
HttpContext.Session.SetComplexData("SetupModel", model);
return RedirectToAction("Setup", "Home");
}
catch (Exception exc)
{
HttpContext.Session.SetComplexData("Error", new ErrorViewModel() { ErrorMessage = exc.ToString() });
return RedirectToAction("Error", "Home");
}
Надеюсь, это обновление будет полезным.