3
I’m starting in Asp net mvc and I’m not able to take the changed data from a simple model and move to another view. Follow the codes:
Model:
public class Produto
{
public int ProdutoId { get; set; }
public string Descricao { get; set; }
public string Tipo { get; set; }
public string Tamanho { get; set; }
public double Valor { get; set; }
}
Controller index method showing model data:
public ActionResult Index()
{
Produto produto = new Models.Produto
{
ProdutoId = 1,
Descricao = "Calça jeans Pitbull",
Tipo = "Calça",
Tamanho = "40",
Valor = 59.99
};
ViewData["ProdutoId"] = produto.ProdutoId;
ViewData["Descricao"] = produto.Descricao;
ViewData["Tipo"] = produto.Tipo;
ViewData["Tamanho"] = produto.Tamanho;
ViewData["Valor"] = produto.Valor;
return View();
}
@model Introducao.Models.Produto
@{
ViewBag.Title = "Inicio";
}
List method that will change model data:
[HttpPost]
public ActionResult Lista(int? ProdutoId, string Descricao, string Tipo, string Tamanho, double? Valor)
{
Produto produto = new Models.Produto();
TempData["Produto"] = produto;
ViewData["ProdutoId"] = ProdutoId;
ViewData["Descricao"] = Descricao;
ViewData["Tipo"] = Tipo;
ViewData["Tamanho"] = Tamanho;
ViewData["Valor"] = Valor;
return View(produto);
}
View List that will show changed model data:
<h2>Meu Site!</h2>
<p>Meu Conteúdo</p>
<form action="Home/Lista" method="post">
<fieldset>
<legend>Produtos</legend>
<div>
<label for="LblProdutoId">Código</label>
</div>
<input type="number" value="@ViewData["ProdutoId"]" name="TxtProdutoId" />
<div>
<label for="LblProdutoDescricao">Descrição</label>
</div>
<div>
<input type="text" value="@ViewData["Descricao"]" name="TxtProdutoDescricao" />
</div>
<div>
<label for="LblProdutoTipo">Tipo</label>
</div>
<div>
<input type="text" value="@ViewData["Tipo"]" name="TxtProdutoTipo" />
</div>
<div>
<label for="LblProdutoTamanho">Tamanho</label>
</div>
<div>
<input type="text" value="@ViewData["Tamanho"]" name="TxtProdutoTamanho" />
</div>
<div>
<label for="LblProdutoValor">Valor(Unit.)</label>
</div>
<div>
<input type="text" value="@ViewData["Valor"]" name="TxtProdutoValor" />
</div>
<p><input type="submit" value="Enviar" /></p>
</fieldset>
</form>
Then in this case when I run the project and pass the values of my txt in the index and send it to the list view running this change it informs that the method comes null. It may be a very stupid question neh kkk but I’m here seeking knowledge.
Guys. Solved, I made all the modifications that informed , helped me to clean my application full of useless codes. Thank you very much, to all my sincere thanks!!:)
– Ton1397