Obter dados
Olá,
Tenho uma aplicação ASP.NET MVC onde em uma parte controlo a alteração do estoque de produtos.
Basicamente, na Index dos Produtos eu tenho um botão que abre um "modal" que tem um Select com a lista (DropDown) de produtos cadastrados no banco de dados, e dois inputs que recebem a quantidade(int) e o valor(decimal) que será alterado do produto, a ideia é que o usuário possa alterar quantidade e atualizar o valor com mais facilidade, sem precisar entrar no cadastro do produto.
Tudo funciona 100%, seleciono o produto na tag Select, informo as alterações e ele atualiza no banco de dados.
Mas o que eu queria fazer nesta tela é:
Quando o usuário selecionar o produto na tag Select ele preencher outras tags (que vou criar na view e serão somente leitura) com os dados atuais do produto no banco de dados, por exemplo: quantidade, valor, descrição, etc...
Meu DropDown
Minha View onde atualizo os dados:
Acredito que eu tenha como fazer isso por Javascript, no evento change por exemplo, mas não tenho ideia de como fazer isso.
Alguém poderia me dar uma luz?
Tenho uma aplicação ASP.NET MVC onde em uma parte controlo a alteração do estoque de produtos.
Basicamente, na Index dos Produtos eu tenho um botão que abre um "modal" que tem um Select com a lista (DropDown) de produtos cadastrados no banco de dados, e dois inputs que recebem a quantidade(int) e o valor(decimal) que será alterado do produto, a ideia é que o usuário possa alterar quantidade e atualizar o valor com mais facilidade, sem precisar entrar no cadastro do produto.
Tudo funciona 100%, seleciono o produto na tag Select, informo as alterações e ele atualiza no banco de dados.
Mas o que eu queria fazer nesta tela é:
Quando o usuário selecionar o produto na tag Select ele preencher outras tags (que vou criar na view e serão somente leitura) com os dados atuais do produto no banco de dados, por exemplo: quantidade, valor, descrição, etc...
Meu DropDown
ViewData["ProductId"] = new SelectList(_context.Product, "Id", "ProductName");
Minha View onde atualizo os dados:
<div class="col-md-12"> <div asp-validation-summary="ModelOnly" class="text-danger"></div> <div class="form-group"> <label asp-for="ProductId" class="control-label"></label> <select asp-for="ProductId" class="form-control" asp-items="ViewBag.ProductId"></select> <span asp-validation-for="ProductId" class="text-danger"></span> </div> <div class="form-group"> <label asp-for="Quantity" class="control-label"></label> <input asp-for="Quantity" class="form-control" placeholder="Quandidade a Adicionar ou Remover" /> <span asp-validation-for="Quantity" class="text-danger"></span> </div> <div class="form-group"> <label asp-for="Price" class="control-label"></label> <input asp-for="Price" class="form-control" placeholder="Alterar Valor do Produdo" /> <span asp-validation-for="Price" class="text-danger"></span> </div> </div>
Acredito que eu tenha como fazer isso por Javascript, no evento change por exemplo, mas não tenho ideia de como fazer isso.
Alguém poderia me dar uma luz?
Otavio Rockenbach
Curtidas 0
Respostas
Jothaz
16/06/2020
Use a notação do razor iterando na ViewData.
Veja esta link:
Veja esta link:
https://www.tutorialsteacher.com/mvc/viewdata-in-asp.net-mvc
GOSTEI 0
Otavio Rockenbach
16/06/2020
Use a notação do razor iterando na ViewData.
Veja esta link:
Veja esta link:
https://www.tutorialsteacher.com/mvc/viewdata-in-asp.net-mvc
Li o artigo mas não resolveu meu problema, para explicar melhor:
O que eu quero é o seguinte:
Tenho meu Select funcionando normalmente na View, ele é populado pelos dados que vem do banco, tudo certo.
o "value" das options desse select são o Id do item na tabela do BD, obviamente e o nome delas é o nome que está no banco, perfeito.
o que eu preciso é que, conforme eu selecione a option, algumas tags sejam preenchidas com os dados desse item da tabela, tipo nome, preo, descrição, etc...
Resumindo, tipo assim:
<div> <select asp-for="ProductId" asp-items="ViewBag.ProductId"> //As options aqui são populadas pelos dados retornados do BD. </select> </div> <div> <input /> //Aqui aparece o preço do produto selecionado, por exemplo. <input /> //Aqui aparece a quantidade do produto selecionado, por exemplo. <input /> //Aqui aparece a descrição do produto selecionado, por exemplo. </div>
GOSTEI 0