I'm starting in asp net mvc and I'm not able to get the changed data from a simple model and switch to another view. Here are 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 method index that shows 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 the 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 from my txt in the index and I command it to pass to the list view by executing this change it informs that the method comes null. It may be a pretty good question, neh kkk but I'm here looking for knowledge.