1
When I will perform the insertion of this data in the table, this error occurs:
No constructor without parameters has been defined for this object.
Follow code with constructor:
[HttpGet]
public ActionResult Inserir ()
{
return View();
}
[HttpPost]
public ActionResult Inserir(ProjetoViewModel model)
{
if (!ModelState.IsValid)
{
return View(model);
}
Projeto projeto = new Projeto
{
Id_projeto = model.Id_projeto,
Nome_projeto = model.Nome_projeto,
Gerencia = model.Gerencia,
Coordenacao = model.Coordenacao,
Horas_orcadas = model.Horas_orcadas,
Impacto = model.Impacto,
Esforco = model.Esforco,
Meta = model.Meta,
Design_sprint = model.Design_sprint,
Prioridade = model.Prioridade
};
_projetoNegocios.Salvar(projeto);
return RedirectToAction("Index");
}
View:
public class ProjetoViewModel
{
public int Id_projeto { get; set; }
[Required(ErrorMessage = "* Campo obrigatório")]
public string Nome_projeto { get; set; }
[Required(ErrorMessage = "* Campo obrigatório")]
public string Gerencia { get; set; }
public string Coordenacao { get; set; }
[Required(ErrorMessage = "* Campo obrigatório")]
public DateTime Horas_orcadas { get; set; }
[Required(ErrorMessage = "* Campo obrigatório")]
public string Impacto { get; set; }
public string Esforco { get; set; }
[Required(ErrorMessage = "* Campo obrigatório")]
public string Meta { get; set; }
public string Design_sprint { get; set; }
[Required(ErrorMessage = "* Campo obrigatório")]
[DataType(DataType.Text)]
[RegularExpression("^[0-9]*$", ErrorMessage = "Somente números")]
public string Prioridade { get; set; }
public ProjetoViewModel(Projeto projeto )
{
Id_projeto = projeto.Id_projeto;
Nome_projeto = projeto.Nome_projeto;
Gerencia = projeto.Gerencia;
Coordenacao = projeto.Coordenacao;
Horas_orcadas = projeto.Horas_orcadas;
Impacto = projeto.Impacto;
Esforco = projeto.Esforco;
Meta = projeto.Meta;
Design_sprint = projeto.Design_sprint;
Prioridade = projeto.Prioridade;
}
}
Also put your View that is doing the information Ubmit.
– Victor Laio
I put Victor :)
– Marcella
You can enter the post method to enter the data in the form or the error when you open the screen?
– Gustavo Luciano
Error occurs when compiling or at runtime?
– Jéf Bueno
I believe that to instantiate an object already filling would be.
Projeto projeto = new Projeto(){// preenche o objeto aqui }
– Robson Silva
The error occurred at runtime. I was able to fix by placing only an empty constructor: public Projetoviewmodel( ) {}
– Marcella
That’s exactly what I put in the answer :-) You need to mark it as an answer so your question doesn’t stay open (as if you have no solution).
– Renan