我需要做一些易于讨论的事情,但有点难以实现:每当在我的视图中选择Person Nature时,应该触发一个触发回发的事件,将viewmodel发送到Create动作,以便它被编辑,然后返回到我的视图,我的@Model更新了新的viewmodel已更改。我需要通过JavaScript来做到这一点。我已经就这个问题做了几篇文章,但是没有人愿意帮助我,所以我决定从头开始。有谁知道如何帮助我?
[HttpPost]
[Authorize(Policy = "CanWriteCustomerData")]
[Route("pessoa-gerenciamento/cadastrar-novo")]
[ValidateAntiForgeryToken]
public IActionResult Create(PessoaViewModel pessoaViewModel)
{
var pessoa = pessoaViewModel.Id = 1000;
return View(pessoa);
}
public class PessoaViewModel
{
[DisplayName("Código")]
public int Id { get; set; }
[DisplayName("Natureza")]
[Required(ErrorMessage ="Escolha uma Natureza")]
public PessoaNatureza PessoaNatureza { get; set; }
}
@using SistemaComercial.Domain.ValueObjects
@model SistemaComercial.Application.ViewModels.Pessoa.PessoaViewModel
@{
ViewData["Title"] = "Cadastrar Nova Pessoa";
}
<!-- begin snippet: js hide: false console: true babel: false -->
@section Scripts {
@{await Html.RenderPartialAsync("_ValidationScriptsPartial");}
<script>
.....................Bloco JS
</script>
}
<form asp-controller="Pessoa" asp-action="Create">
<div class="form-group">
<label asp-for="PessoaNatureza" class="col-md-2 control-label"></label>
<div class="col-md-3">
<select id="PessoaNatureza" asp-for="PessoaNatureza" asp-
items="Model.PessoasNaturezas" class="form-control">
<option value="" data-id="@Model.PessoaNatureza.ObterIdEnum()">--SELECIONE--</option>
</select>
<span asp-validation-for="PessoaNatureza" class="text-danger"></span>
</div>
</div>
</form>